Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel模型是表的一个范围_Php_Laravel_Eloquent - Fatal编程技术网

Php Laravel模型是表的一个范围

Php Laravel模型是表的一个范围,php,laravel,eloquent,Php,Laravel,Eloquent,如何在Laravel中创建自定义模型,其中Manager是用户范围表,而_Manager=1? 我认为让不同的模型成为用户和管理者更为明确,这可能吗?创建如下: 您也可以在模型中使用内联方式进行查询,这基本上是相同的,只是作用域不在单独的类中。您希望用户模型上的查询包括经理和普通用户,还是只包括普通用户?只是经理好的,谢谢,我会试试 <?php namespace App\Models\Scopes; use App\Models\Hotels\AbstractHotelImage;

如何在Laravel中创建自定义模型,其中Manager是用户范围表,而_Manager=1? 我认为让不同的模型成为用户和管理者更为明确,这可能吗?

创建如下:


您也可以在模型中使用内联方式进行查询,这基本上是相同的,只是作用域不在单独的类中。

您希望用户模型上的查询包括经理和普通用户,还是只包括普通用户?只是经理好的,谢谢,我会试试
<?php

namespace App\Models\Scopes;

use App\Models\Hotels\AbstractHotelImage;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Scope;

class IsManagerScope implements Scope
{
    /**
     * Apply the scope to a given Eloquent query builder.
     *
     * @param Builder $builder
     * @param Model   $model
     * @return void
     */
    public function apply(Builder $builder, Model $model): void
    {
        $builder->where('is_manager ', 1);

    }
}
<?php

namespace App\Models;

use App\Models\Scopes\IsManagerScope;

class Manager extends User
{

    /**
     * The "booted" method of the model.
     *
     * @return void
     */
    protected static function booted(): void
    {
        static::addGlobalScope(new IsManagerScope);
    }

}