Как использовать Read () - PullRequest
0 голосов
/ 12 мая 2010

В контроллере я получил это:

 $this->Site1->post_id=$id;
 $this->set('posts', $this->Site1->read()); 

И когда я заменил его на эту строку кода: $ this-> set ('posts', $ this-> Site1-> read ('post_id', $ id));

Но возвращаемый результат совершенно другой.

Есть ли разница между ними?

Можно ли сделать эти две строки кода аккуратными, переписав их в одну строку кода?

 $this->Site1->post_id=$id;
 $this->set('posts', $this->Site1->read()); 

Ответы [ 2 ]

2 голосов
/ 12 мая 2010

Результат совершенно другой, потому что вы указали методу read() выборку только столбца post_id. Вот что происходит, когда вы передаете строку в качестве первого аргумента read(). Вы также можете передать массив столбцов в качестве первого аргумента или null для извлечения всех столбцов. Второй аргумент - это идентификатор записи, которую вы хотите получить. См. документацию для примеров.

Можно ли сделать эти две строки кода аккуратными, переписав их в одну строку кода?

Если вы хотите поместить все это в одну строку, попробуйте: $this->set('posts', $this->Site1->read(null, $id);

1 голос
/ 13 мая 2010

В качестве другого варианта вы также можете просто использовать findBy

$this->set('posts', $this->Site1->findByPostId($id)); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...