0

我正在使用 lumen 5.6 并为查询构建器实现全局范围,并使用 boot 方法来调用范围类。有人可以知道为什么protected static function boot()不在lumen 5.6下面是我的代码吗?

<?php

use App\Scopes\FilterSites;
use Illuminate\Database\Eloquent\Model;


class AccountTag extends Model {

var $useTable = 'tags_tbl';
var $primaryKey = 'tag_id';

protected static function boot()
{
    parent::boot();

    static::addGlobalScope(new FilterSites);
}
4

1 回答 1

0

取消注释$app->withEloquent();写在 中的行bootstrap/app.php。withEloquent ()方法注册DatabaseServiceProvider和引导Eloquent ORM

您可以通过注册一个返回用于选择模型中所有项目的 sql 语句的路由来测试您的全局过滤器是否已应用。

routes/web.php,

$router->get('/account-tags', function () {
    return App\AccountTag::toSql();
});

当您浏览端点时,返回的查询应该有一个 where 子句匹配FilterSites

于 2018-11-14T19:14:23.960 回答