Rah*_*hul 3 php activerecord codeigniter
我试图在CodeIgniter中调用2个连续的查询,第一个查询有一个order-by子句.问题是,CodeIgniter正在尝试对第二个查询使用order-by子句并抛出错误.
代码看起来像这样:
...
$sql = $this->db->get_where('expenses',array('category_id' => $category_id));
$this->db->order_by("date", "asc");
$data = $sql->result_array();
foreach($data as $expense_rec)
{
$expense_id = $data['expense_id'];
$sql2 = $this->db->get_where('expense_details',array('expense_id' => $expense_id));
$detail_rec = $sql2->result_array();
}
...
Run Code Online (Sandbox Code Playgroud)
对于第二个查询,该脚本将引发以下错误:
Unknown column 'date' in 'order clause'
SELECT * FROM (`expense_details`) WHERE `expense_id` = '4' ORDER BY `date` asc
Run Code Online (Sandbox Code Playgroud)
有没有办法在调用第二个查询之前重置order-by?
我正在使用CodeIgniter 1.7
PS我知道我可以将两个查询合并为一个,但我很想知道上面的代码是否有办法在CodeIgniter中工作.
运行查询是重置它的原因.
您order_by()在运行查询后放置,因此它不会影响初始查询,但它会开始构建下一个查询.
代替...
$sql = $this->db->get_where('expenses',array('category_id' => $category_id));
$this->db->order_by("date", "asc");
$data = $sql->result_array();
Run Code Online (Sandbox Code Playgroud)
做这个...
$this->db->order_by("date", "asc");
$sql = $this->db->get_where('expenses',array('category_id' => $category_id));
$data = $sql->result_array();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7234 次 |
| 最近记录: |