使用concat作为连接参数的Codeigniter活动记录查询

时间:2016-06-22 12:57:04

标签: codeigniter join activerecord concat

我目前有2个表,我需要从中获取数据。

我的用户表看起来像: ID | first_name | last_name |用户名

我的数据表如下: ID |文件名| doctorname |观察

我需要做的是将users表中的名字和姓氏与数据表中的医生姓名相匹配,并从中返回“filename”和“Viewed”行。

我似乎无法获得适合它的查询。我正在使用带有代码点火器的活动记录类。我也尝试过一个单独的函数来连接名字和姓氏并返回它,但我似乎无法将该变量传递给查询的连接部分。

  $avail = '1';
    $this->db->select('*');
    $this->db->from("users a");
    $this->db->where("username",$username);
    $this->db->where('CONCAT(first_name, '.', last_name) AS doctorname', FALSE);


    $this->db->join('data b', "doctor name = b.doctorName", "left");

    $result = $this->db->get();
    // print_r($this->db->last_query());
    return $result->result();

任何人都知道哪里出错了? 感谢

1 个答案:

答案 0 :(得分:0)

试试这个

$avail = '1';
$this->db->select('a.*,b.filename,b.viewed');
$this->db->from("users as a");
$this->db->join('data as b', "CONCAT(a.first_name, '.', a.last_name) = b.doctorName", "left");
$this->db->where("a.username",$username);
$result = $this->db->get();
// print_r($this->db->last_query());
return $result->result();