0

我有两张桌子postsusers. post.user_id=users.id。_

字段是

user: id, username, password
post: id, user_id, post_name

我愿意select post.id, post.post_name, user.username

如何在 CakePHP 中选择它?

我有两个名为User和的模型Post。它从 中调用模型PostController

4

2 回答 2

3

如果您正确定义了这两个模型之间的关系,那么当您使用 Post 模型的 find 方法时应该会发生这种情况:

// In PostsController
$posts = $this->Post->find('all');

// $posts should be an array like this
Array
(
    [0] => Array
        (
            [Post] => Array
                (
                    // Model data
                )
            [User] => Array
                (
                    // Model data
                )
        )
)

希望这可以帮助。

于 2013-04-26T09:22:35.260 回答
2

您应该正确定义两个模型之间的关系以简化您的生活,但如果您想使用连接,以下是语法:

find('all', array(
        'conditions' => array('name' => 'Thomas Anderson'),
        'joins' => array(
            array(
                'alias' => 'Thought',
                'table' => 'thoughts',
                'type' => 'LEFT',
                'conditions' => '`Thought`.`person_id` = `Person`.`id`'
            )
        )
 ));
于 2013-04-26T13:06:16.340 回答