CodeIgniter DB get_where 并加入

use*_*331 2 php database codeigniter

这是编写此 codeigniter 查询的最佳方法吗?

$where = array('registration_status_fk' => 2, 'membership.membership_type_id' => 4);
$join = array('membership', 'membership.id=members.id');

$query = $this->join($join[0], $join[1])->get_where($this->tbl_name, $where);
Run Code Online (Sandbox Code Playgroud)

或者有没有更好的方法来完成我正在做的事情?

这是我得到的错误

Error Number: 1054

Unknown column 'membership.membership_type_id' in 'where clause'

SELECT * FROM (`member`) WHERE `registration_status_fk` = 2 AND `membership`.`membership_type_id` = 4

Filename: C:\xampp\htdocs\OAWA\system\database\DB_driver.php

Line Number: 330
Run Code Online (Sandbox Code Playgroud)

Nav*_*eed 5

您可以通过这种方式编写连接查询。

$this->db->select('*')->from('members')->join('membership', 'membership.id=members.id')->where($where)->get();
Run Code Online (Sandbox Code Playgroud)

$where数组中,您需要带有列名的表名,否则如果两个表具有相同的列,则它可能不起作用。