在更新其他属性时自动更新属性

时间:2015-01-22 12:44:51

标签: laravel

我的模型Bucket有两个属性:nameslug

name可以是任意字符串,slugname的网址友好版本。用户可以更新存储区name,但应根据名称自动生成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更改,我如何告诉slug自动更新name

1 个答案:

答案 0 :(得分:1)

您可以使用模型事件尝试: http://laravel.com/docs/4.2/eloquent#model-events

Bucket::updated(function($bucket){
    $bucket->slug = $bucket->slug;
    return true;
});