Laravel - 如何使用isDirty()

时间:2018-02-08 14:07:59

标签: laravel

我正在尝试使用Laravel isDirty()来帮助我只获取修改后的值,

但是当我尝试使用时会出现问题,它总是return false


public function update(Request $request, $id) {

        $client = Client::find($id);

        dd($client->isDirty('name'));

}

总是return false

2 个答案:

答案 0 :(得分:3)

它返回false,因为您没有完成任何内容到$client

因此,它不是“脏” - 它是“干净的”。

如果您执行$client->name = str_random(40);之类的操作,它就会变脏。

答案 1 :(得分:1)

要仅获取已修改的属性,您需要使用getDirty()方法。 isDirty()仅显示是否有任何已修改的属性:

$client = Client::find($id);
$client->name = 'Some New Name';
$modifiedAttributes = $client->getDirty();

如果您想检查是否在提交的表单中修改了任何属性,您可以这样做:

if ($client->name === $request->name)