CakePHP;как сделать условия поиска зависимыми от внешнего ключа параметра $ id - PullRequest
0 голосов
/ 02 октября 2011

Я новичок в программировании, поэтому, пожалуйста, прости меня, если это нубский вопрос!

Я использую Cake для создания блога с моделями пользователей и записей .

У меня есть страница просмотра для записей в блоге, и я хотел бы добавить список со всеми другими записями, которые его создатель написал в него.

Так что мне нужно, чтобы функция find в моем контроллере записей отображала только записи с тем же номером, что и внешний ключ "user_id" текущей просматриваемой записи.

В настоящее время в контроллер ввода добавлено следующее:

    $this->set('entries',
        $this->Entry->find('all', array(
            'conditions'=>array('Entry.user_id' => $id)
            )
        )
    );

Таким образом, он принимает параметр действия просмотра, а не его внешний ключ, что не совсем то, что я хочу.

Но проблема в том, что я просто не могу придумать, как получить внешний ключ ...

Надеюсь, вы поможете мне с этим, спасибо.

1 Ответ

0 голосов
/ 02 октября 2011
function view($id = null){
   if(!$id)$this->redirect(/*somewhere*/);
   $entry = $this->Entry->read(null,$id);
   $entries = $this->Entry->find('all', array(
            'conditions'=>array('Entry.user_id' => $entry['Entry']['user_id')
            )
        );
   $this->set(compact('entry','entries'));
}

Вам понадобится определенная степень знакомства с Cake (не просто слепо копировать код).Надеюсь, приведенный выше код укажет вам правильное направление.

...