【问题标题】:Get data form multi table in Codeigniter using SQL Join使用 SQL Join 在 Codeigniter 中获取多表数据
【发布时间】:2016-05-29 07:36:55
【问题描述】:

收到类似 Not unique table/alias: 'provinces' 的错误,下面的函数是模型函数,我在模型中创建此函数但得到错误表/别名

function get_data_three_tbl(){

                $this->db->select('blood_donors.id, blood_donors.full_name, blood_donors.area, blood_donors.email, blood_donors.phone, provinces.province_name,districts.district_name, tehsils.tehsil_name, blood_groups.group_name');
                $this->db->from ( 'blood_donors, provinces, districts, tehsils, blood_groups ' );
                $this->db->where('blood_donors.is_deleted',1);
                $this->db->join('provinces','provinces.province_id = blood_donors.province');
                $this->db->join('districts','districts.district_id = blood_donors.district');
                $this->db->join('tehsils','tehsils.tehsil_id = blood_donors.tehsil');
                $this->db->join('blood_groups','blood_groups.id = blood_donors.blood_goup');
                $query = $this->db->get();
                if ($query->num_rows() > 0)
                return $query->result_array();
                else
                return FALSE;
    }

【问题讨论】:

  • 如果你使用 JOIN 函数为什么你在 FROM 中使用相同的表?
  • 如果我删除“FROM”然后也会出错
  • 如果我删除“FROM”然后出现以下错误。您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 2 行的 'JOIN provinces ON provinces.province_id = blood_donors.provinceJOIN `' 附近使用正确的语法
  • 首先,尝试在 MySQL 上创建查询。然后转到 codeigniter 查询帮助器,可能存在一些未匹配的 ids 问题。

标签: sql database codeigniter join


【解决方案1】:

from() 调用改为

$this->db->from('blood_donors');

join 语句负责处理其他表。在 fromjoin 语句中都有表名是出现非唯一错误的原因。

【讨论】:

    猜你喜欢
    • 2021-10-17
    • 2018-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-29
    • 2013-02-18
    • 1970-01-01
    相关资源
    最近更新 更多