CodeIgniter Return 数据库结果中的空值

CodeIgniter Return Null Value In database result

我是 CodeIgniter 新手。 我正在使用 Sakila 数据库进行学习..

我正在尝试从 film table 获取 Title,description, language name 来自 language tablecategory name 来自 category table,

我查询

    $this->db->select(' f.film_id,
                        f.language_id,
                        f.title,
                        f.description,
                        l.name AS language,
                        c.name AS category,
                        fc.film_id AS fc
                        ');
    $this->db->from('film AS f');
    $this->db->join('language AS l', 'l.language_id=f.language_id', 'left');
    $this->db->join('film_category AS fc', 'f.film_id=fc.film_id', 'left');
    $this->db->join('category AS c', 'c.category_id=fc.film_id', 'left');
    $this->db->order_by('f.film_id','desc')->limit($num,$start);
    $query = $this->db->get();
    return $query->result();

除了类别名称外,我得到了想要的结果。在数据库中 cmd 工作正常并且 return 正确 category name 但在 codeigniter i return null for cartegory name..

为什么会这样???

您的别名有问题。 您正在对 table 和字段

使用 "fc"
fc.film_id AS fc

$this->db->join('film_category AS fc', 'f.film_id=fc.film_id', 'left');

更改其中一个别名应该没问题。

你在 ON 条款中有错误... sakila 数据库中的 category table 中没有名为 film_id 的列。

改变

$this->db->join('category AS c', 'c.category_id=fc.category_id', 'left');

大功告成...