流明模型静态启动方法不起作用?

时间:2018-11-14 18:21:04

标签: php lumen-5.4

我正在使用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);
}

1 个答案:

答案 0 :(得分:0)

  

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

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

routes/web.php中,

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

浏览端点时,返回的查询应具有匹配FilterSites的where子句