Ada*_*dam 3 php laravel eloquent laravel-5 laravel-5.5
有没有一种简单的方法让Eloquent save方法检查一行是否实际发生了变化?类似affected_rows的口才?
我发现的唯一解决方法是来自Laravel Eloquent更新,只要进行了更改:
$user = Auth::user();
$timestamp = $user->updated_at;
$user->title = $request->input('title');
....
$user->save();
if($timestamp == $user->updated_at){
// row was not updated.
}
Run Code Online (Sandbox Code Playgroud)
但是,如果不需要$timestep变量和检查,这可能会更短吗?我不想在每个控制器中重复那个逻辑.
我正在寻找这样的东西:
$user = Auth::user();
$user->title = $request->input('title');
....
if($user->save()){
// row was updated.
}
Run Code Online (Sandbox Code Playgroud)
但是,这并不因为工作$user->save的回报true在这两种情况下.还有另外一种方法吗?
Mar*_*łek 10
首先代替:
$user->save
Run Code Online (Sandbox Code Playgroud)
你应该使用:
$user->save();
Run Code Online (Sandbox Code Playgroud)
要验证最新Laravel中是否有任何更改,您可以使用:
if ($user->wasChanged()) {
// do something
}
Run Code Online (Sandbox Code Playgroud)
但请注意,这是我在Laravel 5.5中记得的
| 归档时间: |
|
| 查看次数: |
3534 次 |
| 最近记录: |