Сначала найдите идентификатор получателя по идентификатору пользователя и найдите данные по идентификатору получателя - PullRequest
0 голосов
/ 13 июля 2010

Я использую cakePHP 1.26. Я получил простую таблицу с некоторыми данными в моей базе данных localhost:

user_id | message    | receiver_id
-----------------------------
1       | helloworld | 12
2       | hi there   | 12

Допустим, теперь система получила $ userid от пользователя.
Пользователь получил только идентификатор пользователя. Он хочет найти все сообщения, полученные конкретным получателем.
Вот мой код для случая, упомянутого выше:

$receiverID=$this->user->read('receiver_id', $userid); // find the receiver ID
$data=$this->user->findByreceiver_id($receiverID); //then retrieve data by the receiver ID
debug($data);

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

Пожалуйста, сообщите.

Ответы [ 2 ]

1 голос
/ 14 июля 2010

Этот пример из поваренной книги может помочь.

1 голос
/ 13 июля 2010

Я имею в виду, вы могли бы сделать:

$data = $this->User->findByreceiver_id( $this->User->read( 'receiver_id', $userid ) );

Предполагается, что приведенный выше код работает должным образом.

Или вы можете скрыть часть этого синтаксиса в модели. Напишите Model :: find_by_receiver ($ user_id), и он будет содержать фактический вызов find и вернет его. Кажется, немного излишне на обертках, хотя. Но это заставит ваш контроллер казаться более аккуратным.

...