Laravel流畅的更新返回ID

时间:2013-05-16 11:17:42

标签: php laravel laravel-3

我发现使用流畅的驱动程序插入insert_get_id。 是否可以通过更新来获取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创建另一个函数吗? 谢谢。

1 个答案:

答案 0 :(得分:0)

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

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

,然后insert_id应该反映受影响的行。

我似乎记得曾经读过,Eloquent目前没有通过api-methods对这样的东西提供任何开箱即用的支持,但也许有可能创建一个原始的sql语句,可以做到这一点特技。

实现此类自定义功能可能需要花费更多时间,而不是使用评论中的一些先前建议