首页 > 解决方案 > Codeigniter LEFT JOIN 未按预期工作

问题描述

我的左连接不起作用。我想要从消息到输出的任何内容,但如果回复中没有任何内容,则将其留空。

我已经尝试过直接使用 mySQL(见下文),最初使用的是 codeigniter 查询生成器。

我已经验证了所有 SQL 字段。

$this->db->select('messages.*, replies.*');
$this->db->from('messages');
$this->db->join('replies', 'replies.messageID = messages.id', 'left');
$query = $this->db->get();

$query = $this->db->query("SELECT       messages.*, replies.*
                        FROM        messages
                        LEFT JOIN   replies ON replies.messageID = messages.id"); 

[result_id] => mysqli_result Object
    (
        [current_field] => 0
        [field_count] => 9
        [lengths] => 
        [num_rows] => 1
        [type] => 0
    )

[result_array] => Array
    (
    )

[result_object] => Array
    (
    )

[custom_result_object] => Array
    (
    )

[current_row] => 0
[num_rows] => 
[row_data] =>

在此处输入图像描述

在此处输入图像描述

标签: phpmysqlcodeigniter

解决方案


你可以尝试使用RIGHT JOIN.

或者

$query = $this->db->query("SELECT       messages.*, replies.*
                        FROM        replies 
                        LEFT JOIN  messages  ON replies.messageID = messages.id"); 

推荐阅读