我有两张桌子

posts
------
post_id | user_id | post_title | post_content




users
--------
id | user_name | user_ . .. . . . and so on


我需要获取所有包含用户数据的帖子
显示帖子作者等。

如何使用CakePHP查询实现这一目标?

最佳答案

在您的UserModel中,您定义:

var $hasMany = 'Post';


在您的PostModel中,您定义:

var $belongsTo = 'User';


然后,您可以获取某位用户的所有帖子:

$this->User->findAllById($id, array('recursive' => 2));


或者,您可以通过以下方式获取与各个用户关联的所有帖子:

$this->Post->find("all", array('recursive' => 2));


编辑:
您的Posts id列名为post_id,因此您必须在PostModel中定义主键,因为CakePHP约定应将主键命名为id:

public $primaryKey = 'post_id';

关于php - 如何从两个表中检索数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16250949/

10-14 14:55
查看更多