https://learnku.com/docs/laravel/5.6/eloquent/1403
本地范围
本地范围允许定义通用的约束集合以便在应用中复用。 例如, 你可能经常需要获取「受欢迎的」用户。要定义这样一个范围,只需要在对应的 Eloquent 模型方法前加入 scope
前缀。
作用域总是返回一个查询构造器实例:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
/**
* 只查询受欢迎的用户.
*
* @param \Illuminate\Database\Eloquent\Builder $query
* @return \Illuminate\Database\Eloquent\Builder
*/
public function scopePopular($query)
{
return $query->where('votes', '>', 100);
}
/**
* 只查询 active 的用户.
*
* @param \Illuminate\Database\Eloquent\Builder $query
* @return \Illuminate\Database\Eloquent\Builder
*/
public function scopeActive($query)
{
return $query->where('active', 1);
}
}
利用本地范围
一旦定义范围。就可以在模型查询的时候调用范围方法。在方法调用时你不需要添加 scope
前缀。你甚至可以链式调用不同的范围, 例如:
$users = App\User::popular()->active()->orderBy('created_at')->get();
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/112437.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...