在发布之前我搜索得足够多了。
我的表格结构:
援助|出价| cid |做了|
aid
,bid
合在一起是主键。
当我使用cid
更新where clause for aid, bid
的值时,我还想获得did value
的{{1}}。
这样的事情:
updated row
以上查询说:
致命错误:在...
中的非对象上调用成员函数select()
我试过了:
这就像是3个查询。
答案 0 :(得分:0)
我建议您提取即将更新的值,将其ID存储在数组中,然后使用UPDATE
运行WHERE id IN (1, 2, ...)
。
MySQL不支持您尝试做的事情。您需要至少运行2个查询,并且由于您是第一次获取值并且已经知道要更新的值,因此您还可以在{{{{{{{{{{{{{{{{{{{{ 1}}。
在你给出的例子中:
UPDATE
$this->db->set('cid', 1, FALSE)
->where(array(
'aid' => $a_id,
'bid' => $b_id
))
->update('my_table')
->select('did');
,set()
以及where()
返回基于查询构建的对象。但是select()
返回的值是结果,并且没有名为update()
的函数,而不是select()
和set()
。