【发布时间】:2017-12-09 16:35:45
【问题描述】:
我有一个应用程序,我希望以连续的升序分配用户项目,但仅与用户先前分配的 item_ids 相关。
-- Primary query.
INSERT INTO user_items ( user_id, item_id ) VALUES ( <user_id>, <item_id> ); -- There are more fields, but they are not relevant to this question.
-- Desired item_id value subquery.
SELECT MAX( sq.item_id ) + 1 from ( select item_id from user_items where user_id = {$item_id} ) as sq
我已经测试了完整的查询(带有子查询)并且该查询在数据库上是有效的,但是当我使用$escape 参数等于FALSE 的$this->db->set() 方法时,每次都会插入一个零;似乎在调用 insert() 方法之前评估了子查询(指定为字符串)。
我可以指示set() 方法将子查询放入生成的INSERT 查询中以对数据库进行评估吗?
【问题讨论】:
标签: php codeigniter activerecord