Laravel-如何使用isDirty()

Laravel-如何使用isDirty(),laravel,Laravel,我正在尝试使用LaravelisDirty(),它可以帮助我只获取修改后的值 但是当我尝试使用时,出现了一个问题,它总是返回false public function update(Request $request, $id) { $client = Client::find($id); dd($client->isDirty('name')); } 公共功能更新(请求$Request,$id){ $client=client::find($id); dd(

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

但是当我尝试使用时,出现了一个问题,它总是
返回false

public function update(Request $request, $id) { $client = Client::find($id); dd($client->isDirty('name')); } 公共功能更新(请求$Request,$id){ $client=client::find($id); dd($client->isDirty('name')); }
它总是
返回false

它返回
false
,因为您没有对
$client
执行任何操作

因此,它不是“脏的”——而是“干净的”


如果你做了类似于
$client->name=str\u random(40)的事情
它会变脏。

它返回
false
,因为您没有对
$client
执行任何操作

因此,它不是“脏的”——而是“干净的”


如果你做了类似于
$client->name=str\u random(40)的事情它将变脏。

要仅获取修改的属性,需要使用
getDirty()
方法
isDirty()
仅在有任何修改的属性时显示:

$client = Client::find($id);
$client->name = 'Some New Name';
$modifiedAttributes = $client->getDirty();
如果要检查提交的表单中是否修改了任何属性,可以按如下方式执行:

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

要仅获取修改的属性,需要使用
getDirty()
方法
isDirty()
仅在有任何修改的属性时显示:

$client = Client::find($id);
$client->name = 'Some New Name';
$modifiedAttributes = $client->getDirty();
如果要检查提交的表单中是否修改了任何属性,可以按如下方式执行:

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

我修改了客户端字段。@MuhammadJavedBaloch,当您执行
时,$client=client::find($id)表示它是干净的。您还没有修改它。@muhammajavedbaloch不在您显示的代码中,您还没有修改。@ceejayoz谢谢您,我已经修改了客户端字段。@muhammajavedbaloch当您执行
$client=client::find($id)表示它是干净的。您还没有修改它。@MuhammadJavedBaloch不在您显示的代码中您还没有修改。@ceejayoz谢谢您:第二位,请注意,访问器/变异器可能会破坏这一点,整数浇铸值的
===
也会破坏这一点(请求中为字符串,但模型中为整数)。Re:第二位,请注意,访问器/变异器可能会破坏这一点,整数浇铸值的
=
也会破坏这一点(在请求中是字符串,但在模型中是整数)。