0

我正在使用 cakePHP 1.26。我在我的本地主机数据库中有一个简单的表,其中包含一些数据:

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);

代码不整洁,看起来很笨拙。
我不确定在这种情况下是否有最好的方法。

请指教。

4

2 回答 2

1

我的意思是,你可以这样做:

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

这假设您上面的代码按预期工作。

或者您可以在模型中隐藏一些该语法。编写一个 Model::find_by_receiver( $user_id ),它将包含实际的 find 调用,并返回它。不过,在包装上似乎有点矫枉过正。但它会让你的控制器看起来更整洁。

于 2010-07-13T18:42:49.213 回答
1

食谱中的这个例子可能会有所帮助。

于 2010-07-14T03:58:49.433 回答