1

我发现使用流利的驱动程序有 insert_get_id 用于插入。update 可以在任何地方获取 id 吗?

我检查了 query.php,只有 insert_get_id 的功能吗?我可以在哪里获得主键的更新返回?

$update = DB::table($table)
            ->where('userid', '=', Session::get('userid'))
            ->update_get_id(Input::all());

该值只会返回 1 ,表示成功。任何人都有解决方案来获取更新返回主 ID?

我是否可以在 query.php 中为新函数 update_get_id 创建另一个函数?谢谢你。

4

1 回答 1

0

我用普通的 MySQL 做这个的方法是让我的表有一个唯一的索引,然后使用一个使用内置 last_insert_id() 的插入语句,如下所示:

... on duplicate key update id = last_insert_id(id)

,那么 insert_id 应该反映受影响的行。

我似乎记得读过 Eloquent 目前没有通过 api-methods 对类似的东西提供任何开箱即用的支持,但也许可以创建一个可以执行此技巧的原始 sql 语句。

与使用评论中的一些先前建议相比,实现此类自定义功能可能需要更多时间

于 2015-07-07T08:45:24.560 回答