public static findMultipleByUuids ( array $arrUuids, array $arrOptions = [] ) : |
||
$arrUuids | array | An array of UUIDs |
$arrOptions | array | An optional options array |
return | 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);
}
private function getContaoFile($uuid) { $uuid = StringUtil::deserialize($uuid); if (is_array($uuid)) { return FilesModel::findMultipleByUuids($uuid); } return FilesModel::findByUuid($uuid); }