我现在遇到一个问题,我在rating
表中有一个名为links
的列,并且列中除了0
之外肯定有值{{1}是foreach链接返回的唯一值。当我为该列执行简单的get时,它会显示所有其他值,但不会在我执行SQL Join时显示。
我知道问题是我加入了这些表格,但我不确定如何加入这些特定的表格。
数据库表结构
0
列是导致我出问题的列。
rating
'links'
id | title | url | user_id | list_id | rating | weight | date_created
'list'
id | list_title | list_description | user_id | rating | views | date_created
'link_ratings'
型号:
id | user_id | link_id | rated | date_created
感谢任何帮助。
答案 0 :(得分:1)
你应该试试这个:
function get_latest(){
$this->db->select('list.*, users.*, links.id as current_link_id');
$this->db->from('links');
$this->db->join('list', 'links.list_id = list.id');
$this->db->join('users', 'links.user_id = users.id');
$this->db->join('link_ratings', 'links.id = link_ratings.link_id','left');
$this->db->order_by('links.date_created', 'DESC');
$this->db->limit(100);
$get_latest = $this->db->get()->result_array(); #fetch all rows here
echo "<pre>";print_r( $get_latest );die; #print all rows and see if its fetching ratings corrctly or not.
echo $this->db->last_query();die; #check the query generated
return $get_latest;
}
答案 1 :(得分:0)
原因将完全合乎逻辑,因为连接将导致不返回任何结果,因为没有结果。我已经陷入了很多次。
我无法诊断您的特定问题,但遇到类似问题时我:
启用CI配置文件
2- var_dump数组,以便您可以看到正在发生的事情
3-编写传统的SQL查询并在PHPMyAdmin中运行
一个或三者的组合将使您能够诊断。