本地作用域:
在模型Model中定义
public function scopeMe($query)
{
$query->where('owner_id','=',Auth::guard('api')->id());
}
在控制器的使用
$list = Template::where('is_check', $request->type)->me()->orderBy('created_at', 'desc')->paginate(10);
全局作用域
全局范围能为给定模型的所有查询添加约束。Laravel 自带的 软删除功能 就利用全局作用域从数据库中提取「未删除」的模型。编写自定义的全局作用域可以提供一个方便、简单的方法来确保给定模型的每个查询都受到一定的约束。
编写全局作用域
编写全局作用域很简单。首先定义一个实现 Illuminate\Database\Eloquent\Scope
接口的类。这个接口要求你实现一个方法:apply
。apply
方法可以根据需要添加 where
条件到查询:
<?php
namespace App\S