Phalcon есть EOF для модели :: найти

Я пишу кусок кода, и в нем я хотел бы знать, если результат поиска пустым или нет. Вот мой кусок кода:

public function signatureAction()
{
$info = $this->session->get('current_quote');
$object_list = ApplicationSignatureFile::find(array('conditions' => 'application_id = ?1 AND quote_id = ?2',
'bind' => [
1 => $info['application_id'],
2 => $info['quote_id'],
]));

$this->view->setVar('object_list', $object_list);
if ($object_list) {
$this->view->setVar('has_files',true);
} else {
$this->view->setVar('has_files',false);
}
}

Что я еще не знаю, если как проверить, если $object_list EOF, так что я могу установить has_files переменная лучше. В настоящее время это не работает. Как я могу сделать это в контроллере и в .volt Посмотреть?

1

Решение

Это довольно странно на самом деле. С помощью findFirst или любой другой метод ORM возвращает false при неудаче, однако используя find не.

Простой обходной путь в вашем случае будет использовать count метод на наборе результатов:

$test = \Models\Objects::find([
'conditions' => 'is_active = 42'
]);
if ($test->count()) {
print('I have records with is_active = 42');
d($test->toArray());
} else {
print('I do not have any records with is_active = 42');
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]