Laravel 更新其他属性时自动更新属性
我有一个模型Laravel 更新其他属性时自动更新属性,laravel,Laravel,我有一个模型Bucket,它有两个属性:name和slug name可以是任何字符串,slug是name的url友好版本。用户可以更新bucket名称,但应根据名称自动生成slug。这是我的控制器代码 $bucket = Auth::user()->buckets()->find($id); if(!$bucket) return App::abort(404,'Bucket not found'); $bucket->fill(Input::all()); $bucket-
Bucket
,它有两个属性:name
和slug
name
可以是任何字符串,slug
是name
的url友好版本。用户可以更新bucket名称
,但应根据名称自动生成slug
。这是我的控制器代码
$bucket = Auth::user()->buckets()->find($id);
if(!$bucket) return App::abort(404,'Bucket not found');
$bucket->fill(Input::all());
$bucket->save();
return $bucket;
对于给定的代码,
name
会更新,但slug
不会更新。我如何告诉Bucket
在name
发生更改时自动更新slug
?您可以在模型事件中尝试此操作:
太棒了,我不知道这些。谢谢
Bucket::updated(function($bucket){
$bucket->slug = $bucket->slug;
return true;
});