我是Lithium
的新用户。我需要进行左连接。这是我需要的query
。
SELECT `title`,`body`,`user_id`,`users`.`username`,`users`.`id`
FROM `posts` LEFT JOIN `users`
ON `user_id` = `users`.`id`
我尝试做这样的事情。
$conditions['user_id'] = $this->data['user_id'];
$posts = Post::all(array(
'conditions' => $conditions,
'fields' => array('title','body','username'),
'join' => array('source' => 'posts',
'type' => 'LEFT',
'constraint' => array('post.user_id' => 'Users.id')),
))->data();
答案 0 :(得分:1)
有一个很棒的教程(使用博客作为示例)here解释了在Lithium中使用关系,关系使用关系数据和JOINS
更简单。
您还可以check out官方文档以及此答案:How do I perform joins with lithium models?
在您的模型上设置了关系后,您可以像以下一样执行JOINS
:
$posts = Posts::find('all', array(
'with' => 'Users'
));
锂中有几种不同类型的关系,大致与JOINS
的不同类型相关......