есть две таблицы:
books(id, title, author, created);
readers(name, surname, book_id);
Эти 2 таблицы я попытался связать через $hasOne.
В итоге моя цель: Есть книга, нужно вывести всех читателей даной книги. Связываю из таблицы books.id и readers.book.id и почти получается, по почему-то запрос CakePHP в конце ставит LIMIT 1 и поэтому больше 1 читателя у меня не выведеться. Как справится с данной ситуацией?
Вот мой код:
Controller:
function reader($id=null) {
$book = $this->Book->findById($id); // SELECT * FROM books WHERE id = $id
$reader = $this->Book->Reader->findById($id);
if ($book['Reader']['book_id']==$book['Book']['id']) {
$this->set('book', $book);
} else {
$this->sesRedir('Читателей для данной книги не найдено');
}
}
public function sesRedir($message, $action = 'index') {
$this->Session->setFlash($message);
$this->redirect($action, null, true);
}
Model
<?php
class Book extends AppModel {
var $name = 'Book' ;
var $hasOne = array('Reader' =>
array('className' => 'Reader',
'conditions' => '',
'order' => '',
'dependent' => true,
'foreignKey' => 'book_id'
)
);
}
reader.ctp (отображение)
<strong>Имя:</strong> <? echo $book['Reader']['name'];?><br />
<strong>Фамилия:</strong> <? echo $book['Reader']['surname'];?><br />