Я пытаюсь построить небольшой cms для тестирования CakePHP 2.x
В моем PagesController (для отображения отдельных сайтов) я использую этот код:
$page = $this->Page->findByNavtitle($name, array( 'conditions' => array( 'Page.visible' => '1', ), ) );
Результат должен устанавливаться только тогда, когда запись отмечена как видимая. Но этот код блокирует ошибку.
API описывает, что только один параметр разрешен в этих методах findBy.
Как я могу получить результат с условиями?
Вы не можете добавлять условия для метода findBy . Вместо этого используйте find :
$page = $this->Page->find('first', array( 'conditions' => array( 'Page.nav_title' => $name, 'Page.visible' => 1 ) ));
$page = $this->Page->find('first', array( 'conditions' => array( 'Page.nav_title' => $name, 'Page.visible' => 1 ) ));
Надеюсь, поможет
$ this-> Model-> findAllBy (строка $ value, array $ fields, array $ order, int $ limit, int $ page, int $ recursive);
Findbyid в пироге php
$result = $this->Modelname->findById($id, array('Alpha.name'));
где $ id – идентификатор записи, которую вы ищете, и Alpha.name – это поле, которое вам нужно (например, имя из модели Alpha)