1

私はコードを書いていますが、その中で検索の結果が空かどうかを知りたいです。これが私のコードです:

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_listEOFかどうかを確認する方法がまだわからないので、has_files変数をより適切に設定できます。現在、機能していません。.voltコントローラーとビューでそれを行うにはどうすればよいですか?

4

1 に答える 1

1

これは実際にはかなり奇妙です。UsingfindFirstまたはその他の ORM メソッドはfalse失敗すると戻りますが、usingはそうで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');
}
于 2016-08-30T04:57:39.720 に答える