Laravel-如何使用isDirty()
我正在尝试使用LaravelLaravel-如何使用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(
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:第二位,请注意,访问器/变异器可能会破坏这一点,整数浇铸值的=
也会破坏这一点(在请求中是字符串,但在模型中是整数)。