2013-04-26 77 views
0

我有兩個表postsuserspost.user_id=users.id如何寫連接查詢CakePHP中?

的字段是

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

我想select post.id, post.post_name, user.username

如何在CakePHP中選擇呢?

我有一個名爲UserPost兩種車型。它要求從PostController模型。

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

希望這有助於:

+0

兩款車型沒有關係 – 2013-04-26 09:24:57

回答

2

你應該合理界定這兩個模型之間的關係,以簡化你的生活,但如果你想使用一個連接,這裏是語法:

find('all', array(
     'conditions' => array('name' => 'Thomas Anderson'), 
     'joins' => array(
      array(
       'alias' => 'Thought', 
       'table' => 'thoughts', 
       'type' => 'LEFT', 
       'conditions' => '`Thought`.`person_id` = `Person`.`id`' 
      ) 
     ) 
));