laravel 中scope 应用
Posted lianruihong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel 中scope 应用相关的知识,希望对你有一定的参考价值。
在模型中定义
protected static function boot() { Model::boot(); static::addGlobalScope(‘defaultOrder‘, function (Builder $builder) { $builder->orderBy(‘id‘, ‘desc‘); }); static::addGlobalScope(‘top_level‘, function (Builder $builder) { $builder->where(‘reply_to‘, null); }); }
如上所示,设置了默认的排序 及增加查询条件
然而 要注意的是,在查询中,当不需要scope的时侯,需要加上
比如删除时 需要加上调用静态方法 withoutGlobalScope
$id = request("id"); Model::withoutGlobalScope(‘top_level‘)->where(‘id‘, $id)
以上是关于laravel 中scope 应用的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 5.8:如何在 Global Scope 的 apply 方法中解析 auth()->user()?