Php 如何使用Laravel查询全局范围
我正在实施文件所述的Laravel Global Scope,但这似乎对我不起作用。下面是我在Php 如何使用Laravel查询全局范围,php,laravel,laravel-6,global-scope,Php,Laravel,Laravel 6,Global Scope,我正在实施文件所述的Laravel Global Scope,但这似乎对我不起作用。下面是我在User.phpmodel中的代码行 <?php namespace App; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model; class User extends Model { /** * The "booted" method of
User.php
model中的代码行
<?php
namespace App;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
/**
* The "booted" method of the model.
*
* @return void
*/
protected static function booted()
{
static::addGlobalScope('age', function (Builder $builder) {
$builder->where('age', '>' , 100);
});
}
}
我终于发现我犯了什么错误。如果有人这样做,请检查以下详细信息 正如问题中提到的,我使用的是Laravel6.x,但我指的是Laravel7.x,它有很大的不同。 在Laravel 6.x中,我们使用
protected static function boot(){
parent::boot();
static::addGlobalScope(new BlockedUserScope);
}
在Laravel 7.x中,我们使用
protected static function booted(){
static::addGlobalScope(new BlockedUserScope);
}
我终于发现我犯了什么错误。如果有人这样做,请检查以下详细信息 正如问题中提到的,我使用的是Laravel6.x,但我指的是Laravel7.x,它有很大的不同。 在Laravel 6.x中,我们使用
protected static function boot(){
parent::boot();
static::addGlobalScope(new BlockedUserScope);
}
在Laravel 7.x中,我们使用
protected static function booted(){
static::addGlobalScope(new BlockedUserScope);
}
User
指的是您正在使用User::all()
的App\User
?是。雄辩的返回数据,但没有添加您在哪里使用Tinker?如果是,并且在打开Tinker会话后保存了文件(User.php
),则需要先退出它,然后重新启动它。我所说的Tinker是指php artisan Tinker
。您必须在方法开始时调用parent::boot()
。@AmirAsyraf不,我没有使用任何Tinker。这只是正常的路线控制器呼叫User
指的是您正在使用User::all()
的App\User
?是的。雄辩的返回数据,但没有添加您在哪里使用Tinker?如果是,并且在打开Tinker会话后保存了文件(User.php
),则需要先退出它,然后重新启动它。我所说的Tinker是指php artisan Tinker
。您必须在方法开始时调用parent::boot()
。@AmirAsyraf不,我没有使用任何Tinker。这只是正常的路线控制器呼叫是的,我在尝试Laravel 6.x上的最新版本。为什么?记录在哪里?我一直在努力寻找正确的方法,如何在L8做到这一点。启动还是启动?L6.x有启动
-L7.x或>有启动
-是的,我在Laravel6.x上尝试了最新的一个为什么?记录在哪里?我一直在努力寻找正确的方法,如何在L8做到这一点。引导或引导?L6.x已引导
-而L7.x或>已引导
-