我在一个项目中工作,我注意到有不同的方法用于不同的模型:
Class1::where('id', $id)
->update($request->except('_token'));
Class2::where('id', $id)
->update($request->except('_token'));
Class3::where('id', $id)
->update($request->except('_token'));
所以我认为每个班级都有这些重复的方法。 有没有办法制作一个通用方法并在我的控制器中使用它,比如这个?
AnyClass::genericMethod($id);
谢谢!
答案 0 :(得分:1)
您可以对以下方法使用特征:
trait SomeTrait
{
public function genericMethod($id)
{
return $this->where('id', $id)->update(request()->except('_token'));
}
}
并将其添加到任意数量的模型中:
class Class3 extends Model
{
use SomeTrait;