Как найти по нескольким критериям с помощью Phalcon findFirst?

Я пытаюсь получить видео из моей видео базы данных, выбор основан на уникальной комбинации external_id и language_id (оба целых числа). Я попробовал следующий код, но похоже, что findFirst() только подбирает первый критерий

 $video = Video::findFirst("language_id=" . $language->id . " and external_id=" . $external->id); 

Может ли кто-нибудь помочь мне правильно использовать findFirst с несколькими критериями?

Попробуйте привязать свои параметры к их конкатенации. Безопаснее, и он может определить область ошибок

 $video = Video::findFirst( [ 'columns' => '*', 'conditions' => 'language_id = ?1 AND external_id = ?2', 'bind' => [ 1 => $language->id, 2 => $external->id, ] ] ); 

Методы find () и findFirst () принимают ассоциативный массив, определяющий критерии поиска:

 $robot = Robots::findFirst(array( "type = 'virtual'", "order" => "name DESC", "limit" => 30 )); $robots = Robots::find(array( "conditions" => "type = ?1", "bind" => array(1 => "virtual") )); // What's the first robot in robots table? $robot = Robots::findFirst(); echo "The robot name is ", $robot->name, "\n"; // What's the first mechanical robot in robots table? $robot = Robots::findFirst("type = 'mechanical'"); echo "The first mechanical robot name is ", $robot->name, "\n"; // Get first virtual robot ordered by name $robot = Robots::findFirst(array("type = 'virtual'", "order" => "name")); echo "The first virtual robot name is ", $robot->name, "\n"; 

Продолжайте читать здесь: Главная Doc – Поиск записей