Laravel 8 局部作用域

2021-07-19 11:32 更新

局部作用域允許定義通用的約束集合以便在應(yīng)用程序中重復(fù)使用。例如,你可能經(jīng)常需要獲取所有「流行」的用戶。要定義這樣一個范圍,只需要在對應(yīng)的 Eloquent 模型方法前添加 scope 前綴。

作用域總是返回一個查詢構(gòu)造器實例:

<?php

namespace App\Models;

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);
    }
} 
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號