code: public static function findMultipleByIds($arrIds, array $arrOptions=array())
  	{
  		if (empty($arrIds) || !\is_array($arrIds))
  		{
  			return null;
  		}
  
  		$arrRegistered = array();
  		$arrUnregistered = array();
  
  		// Search for registered models
  		foreach ($arrIds as $intId)
  		{
  			if (empty($arrOptions))
  			{
  				$arrRegistered[$intId] = Registry::getInstance()->fetch(static::$strTable, $intId);
  			}
  
  			if (!isset($arrRegistered[$intId]))
  			{
  				$arrUnregistered[] = $intId;
  			}
  		}
  
  		// Fetch only the missing models from the database
  		if (!empty($arrUnregistered))
  		{
  			$t = static::$strTable;
  
  			$arrOptions = array_merge
  			(
  				array
  				(
  					'column' => array("$t.id IN(" . implode(',', array_map('\intval', $arrUnregistered)) . ")"),
  					'value'  => null,
  					'order'  => Database::getInstance()->findInSet("$t.id", $arrIds),
  					'return' => 'Collection'
  				),
  
  				$arrOptions
  			);
  
  			$objMissing = static::find($arrOptions);
  
  			if ($objMissing !== null)
  			{
  				while ($objMissing->next())
  				{
  					$intId = $objMissing->{static::$strPk};
  					$arrRegistered[$intId] = $objMissing->current();
  				}
  			}
  		}
  
  		$arrRegistered = array_filter(array_values($arrRegistered));
  
  		if (empty($arrRegistered))
  		{
  			return null;
  		}
  
  		return static::createCollection($arrRegistered, static::$strTable);
  	}
docs: Find multiple records by their IDs
  
  @param array $arrIds     An array of IDs
  @param array $arrOptions An optional options array
  
  @return Collection|null The model collection or null if there are no records