Search code examples
laravelscopelumen

Class 'App\Scope\__name_Scope' not found in lumen (Laravel micro-framework)


I want to add a global scope to my project. and use it in some models. so I create this code: (in app/scopes folder)

<?php

namespace App\Scopes;

use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Scope;

class GameStoreScope 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)
    {
        //$storeId = \request()->header('Store');

        //dd("asdad");
        $builder->where('game_store_id', '=', 1);
    }
}

And use it to my model like this:

<?php

namespace App;

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

class Player extends Model
{


    protected $guarded = [];

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

        static::addGlobalScope(new GameStoreScope);
    }

but after run my project. always get this FatalError : Class 'App\Scopes\GameStoreScope' not found


Solution

  • Fix namespace ref link https://laravel.com/docs/8.x/eloquent#query-scopes

    namespace App\Scopes;
    
    use App\Scopes\GameStoreScope;
    use Illuminate\Database\Eloquent\Model;
    

    then run composer dump-autoload