局部作用域
局部作用域在模型类中定义,该方法需要以scope开头。
```
public function scopePopular(Builder $query)
{
return $query->where('views','>',0)->orderBy('views','desc');
}
```
使用:只需调用scope之后的过滤器名称即可。
`$post = Post::popular()->get();`
动态作用域
动态作用域和局部作用域类似,只不过可以通过额外参数指定查询条件。
```
public function scopeOfType(Builder $query, $type)
{
return $query->where('type', $type);
}
```