Swiftriver\Core\Modules\DataContext\Mongo_V1\DataContext::GetSourcesById PHP Method

GetSourcesById() public static method

Given the IDs of Sources, this method gets them from the underlying data store
public static GetSourcesById ( string[] $ids ) : Source[]
$ids string[]
return Swiftriver\Core\ObjectModel\Source[]
    public static function GetSourcesById($ids)
    {
        $logger = \Swiftriver\Core\Setup::GetLogger();
        $logger->log("Core::Modules::DataContext::Mongo_V1::DataContext::GetSourcesById [Method Invoked]", \PEAR_LOG_DEBUG);
        $sources = array();
        $db = self::MongoDatabase();
        if (!\is_array($ids) || \count($ids) < 1) {
            $logger->log("Core::Modules::DataContext::Mongo_V1::DataContext::GetSourcesById [No ids supplied]", \PEAR_LOG_DEBUG);
            $logger->log("Core::Modules::DataContext::Mongo_V1::DataContext::GetSourcesById [Method Finished]", \PEAR_LOG_DEBUG);
            return $sources;
        }
        try {
            $logger->log("Core::Modules::DataContext::Mongo_V1::DataContext::GetSourcesById [START: Getting sources]", \PEAR_LOG_DEBUG);
            $db->where_in("id", $ids);
            $sources_result = $db->get("sources");
            foreach ($sources_result as $source) {
                $sources[] = (object) $source;
            }
            $logger->log("Core::Modules::DataContext::Mongo_V1::DataContext::GetSourcesById [END: Getting sources]", \PEAR_LOG_DEBUG);
        } catch (\MongoException $e) {
            $logger->log("Core::Modules::DataContext::Mongo_V1::DataContext::DeleteContent [An Exception was thrown:]", \PEAR_LOG_ERR);
            $logger->log("Core::Modules::DataContext::Mongo_V1::DataContext::DeleteContent [{$e}]", \PEAR_LOG_ERR);
        }
        $db = null;
        $logger->log("Core::Modules::DataContext::Mongo_V1::DataContext::GetSourcesById [Method Finished]", \PEAR_LOG_DEBUG);
        return $sources;
    }