[英]Show join table results even on condition is null
我有五本表名书籍 , 类别 , 出版物 , 作者 , 评论 。
在我的应用中,用户可以在登录后查看该书。 因此评论表保持空白,直到用户发表评论为止。
我正在尝试在codeigniter模型中运行流动查询,以按category_id获取书籍详细信息,并且当存在他们的评论时,它工作正常,否则返回空数组。 这是因为$this>db>join('reviews','reviews.book_id = books.book_id');
条件返回假
如何在不匹配的情况下显示评价结果甚至评论表?
public function get_book_details($cat_id) {
$this->db->select('*');
$this->db->from('books');
$this->db->join('categories', 'categories.id = books.category_id');
$this->db->join('publications', 'publications.id = books.publication_id');
$this->db->join('author', 'author.id = books.author_id');
$this->db->join('reviews', 'reviews.book_id = books.book_id');
$this->db->where('categories.id', $cat_id);
$query = $this->db->get();
return $query->result();
}
如果找不到匹配的关联,请使用LEFT JOIN
获取结果
$this->db->join('reviews', 'reviews.book_id = books.book_id','LEFT');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.