Laravel-Global范围特征没有被击中

时间:2015-01-31 16:47:53

标签: php laravel eloquent laravel-5

我似乎无法在这里找到问题。我使用特征将全局范围附加到模型上的所有Eloquent查询。这是我的模特

<?php namespace App;

 use Illuminate\Database\Eloquent\Model;
 use App\Club\traits\restrictToClubTrait;


class Product extends Model
{



public function category()
{
    return $this->belongsTo('App\ProductCategory', 'product_category_id', 'id');
}


public function producer()
{
    return $this->belongsTo('App\Producer', 'producer_id');
}
}

这是特质

<?php namespace App\Club\traits;

trait restrictToClubTrait
{

/**
 * Boot the soft deleting trait for a model.
 *
 * @return void
 */
public static function bootRestrictToClubTrait()
{
    dd('p');
    static::addGlobalScope(new RestrictToClubScope);
}

}

那个dd永远不会被击中,所以这个功能一定不会受到影响,我已经倾倒了文档,但我不知道我哪里出错了。

1 个答案:

答案 0 :(得分:2)

特征应该被“包含”在类体内。有关详细信息here

use App\Club\traits\restrictToClubTrait;

class Product extends Model {
    use restrictToClubTrait;
}