我正在使用cakePHP 1.26。 我在localhost数据库中得到了一个包含一些数据的简单表:
user_id | message | receiver_id
-----------------------------
1 | helloworld | 12
2 | hi there | 12
假设系统现在收到用户的$ userid
用户只获得了用户ID。他想搜索特定接收者收到的所有消息
以下是我上述案例的代码:
$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);
代码不整洁,看起来很笨拙 我不确定在这种情况下是否有最佳方法。
请告知。
答案 0 :(得分:1)
我的意思是,你可以这样做:
$data = $this->User->findByreceiver_id( $this->User->read( 'receiver_id', $userid ) );
这假设您的上述代码按预期工作。
或者你可以在模型中隐藏一些语法。编写一个Model :: find_by_receiver($ user_id),它将包含实际的find调用,并返回它。但是,封装器似乎有点过分。但它会使你的控制器显得更整洁。
答案 1 :(得分:1)
This example可能有所帮助。