【发布时间】:2016-11-27 19:55:33
【问题描述】:
Laravel DB update 函数返回 0 如果查询失败或行不受影响,因为更新值相同。
如何检查查询失败是因为错误还是因为行没有受到影响?在下面的代码中,如果值相同,它将返回并且不会在控制器中运行下一组代码。
$query = DB::table('users')
->where('id', '=' , $requestdata['user_id'] )
->update([
'first_name' => $requestdata['user_fname'],
'last_name' => $requestdata['user_lname'],
]);
if ( !$query ) {
return ['error' => 'error update user'];
}
【问题讨论】:
-
你应该使用
try catch或DB transaction来做这种事情,而不是使用if else。