Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CodeIgniter活动记录包括来自上一个查询的列_Codeigniter_Codeigniter 2 - Fatal编程技术网

CodeIgniter活动记录包括来自上一个查询的列

CodeIgniter活动记录包括来自上一个查询的列,codeigniter,codeigniter-2,Codeigniter,Codeigniter 2,我有一个需要运行2个查询的函数。第一个查询运行良好。第二个不是因为它包含来自上一个查询的列,而该列不是来自同一个表。 第一个查询: function1($id) { $sql = "SELECT id FROM table1 WHERE id2 = $id"; return($this->db->query($sql)); } 第二个问题: function2() { $this->db->select('id2'); $this-&g

我有一个需要运行2个查询的函数。第一个查询运行良好。第二个不是因为它包含来自上一个查询的列,而该列不是来自同一个表。
第一个查询:

function1($id) {
    $sql = "SELECT id FROM table1 WHERE id2 = $id";

    return($this->db->query($sql));
}
第二个问题:

function2() {
    $this->db->select('id2');
    $this->db->from('table2');
    $this->db->where('col1', '1');
    $this->db->limit($random_number, 1);

    return($this->db->get());
}
调用函数:

function() {
    $rs1 = function($id)->result_array(); // runs ok.
    $rs2 = function2()->result_array();   // error.
}
错误消息:

A Database Error Occurred

Error Number: 1054

Unknown column 'id' in 'field list'

SELECT `id`, `id2` FROM (`table2`) WHERE `col1` = '1' LIMIT 1, 30
id
在第二个查询中不是偶数,但它包含在结果中。我如何解决这个问题?谢谢。

试试跑步:


$this->db->flush_cache()
$this->db->select('id2')

之前,您也必须在其他地方选择'id',因为没有理由显示
id
。它不能混淆,因为function1()来自一个模型类,function2()来自另一个模型类,所以在function2()中,我确信我只选择id2。我真的不知道这里出了什么问题。你知道$this->db模型是单数的,可以被任何模型访问。这意味着,两个模型可能会影响同一个数据库调用。通过查看代码,一切看起来都很好,但我建议发布完整的模型代码,以便更清楚……代码
$this->db->select('id1')?不仅在这两个功能上。