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