php - CodeIgniter DB get_where 和 join

标签 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);

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

这是我得到的错误

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

最佳答案

您可以这样编写连接查询。

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

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

关于php - CodeIgniter DB get_where 和 join,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13326610/

相关文章:

php - Outlook 中随机 HTML 电子邮件字符替换为 "="

php - 显示每个用户的三张图片

php - 仅当子对象尚不存在时才将子对象添加到父对象

database - 我应该为数据库中的 ID 使用什么数据类型?

swift - 如何删除CloudKit中的CKRecord和所有引用记录

Codeigniter 表单验证。阿尔法和空格

javascript - 如何在 JavaScript 中销毁 session

php - composer 依赖声明它没有 php-xsl

php - 从 PHP 脚本检测是否启用了 mbstring

mysql - MySQL 的日期维度生成器