Contao\FilesModel::findMultipleByUuids PHP Method

findMultipleByUuids() public static method

Find multiple files by their UUIDs
public static findMultipleByUuids ( array $arrUuids, array $arrOptions = [] ) : Collection | FilesModel[] | FilesModel | null
$arrUuids array An array of UUIDs
$arrOptions array An optional options array
return Contao\Model\Collection | FilesModel[] | FilesModel | null A collection of models or null if there are no files
    public static function findMultipleByUuids($arrUuids, array $arrOptions = array())
    {
        if (!is_array($arrUuids) || empty($arrUuids)) {
            return null;
        }
        $t = static::$strTable;
        foreach ($arrUuids as $k => $v) {
            // Convert UUIDs to binary
            if (\Validator::isStringUuid($v)) {
                $v = \StringUtil::uuidToBin($v);
            }
            $arrUuids[$k] = "UNHEX('" . bin2hex($v) . "')";
        }
        if (!isset($arrOptions['order'])) {
            $arrOptions['order'] = "{$t}.uuid!=" . implode(", {$t}.uuid!=", $arrUuids);
        }
        return static::findBy(array("{$t}.uuid IN(" . implode(",", $arrUuids) . ")"), null, $arrOptions);
    }

Usage Example

 private function getContaoFile($uuid)
 {
     $uuid = StringUtil::deserialize($uuid);
     if (is_array($uuid)) {
         return FilesModel::findMultipleByUuids($uuid);
     }
     return FilesModel::findByUuid($uuid);
 }
All Usage Examples Of Contao\FilesModel::findMultipleByUuids