CakePHP 2.0.4 – findBy магические методы с условиями

Я пытаюсь построить небольшой 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)