%PDF- %PDF-
Direktori : /var/www/html/camillo/camillo-api-master/app/Scopes/ |
Current File : /var/www/html/camillo/camillo-api-master/app/Scopes/ArrivalExceptionScope.php |
<?php namespace App\Scopes; use App\Enums\UsertypeEnum; use Illuminate\Database\Eloquent\Scope; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Builder; use Illuminate\Support\Facades\Auth; class ArrivalExceptionScope implements Scope { /** * Apply the scope to a given Eloquent query builder. * * @param \Illuminate\Database\Eloquent\Builder $builder * @param \Illuminate\Database\Eloquent\Model $model * @return void */ public function apply(Builder $builder, Model $model) { $user = auth()->user() ? auth()->user() : auth('api')->user(); $institutes = $user->institutes; $institute_ids = $institutes->map(function ($item, $key){ return $item->id; }); if($user->usertype->role === UsertypeEnum::PRINCIPAL) { $builder->whereHas('classroom', function ($query) use ($institute_ids) { $query->whereHas('institute', function ($query) use ($institute_ids) { $query->whereIn('institute_id', $institute_ids); }); }); } } }