У меня есть модель Eloquent называется (TicketModel),Laravel 4,2 и игнорировать глобальный масштаб
добавить глобальный масштаб для принимать все билеты на пользователя, но иногда, я хочу использовать билет без этого объема, как можно сделать Это? как можно игнорировать эту область
это модель
<?php
class TicketModel extends Eloquent{
public $timestamps = false;
public static function boot()
{
static::addGlobalScope(new TicketScope);
}
}
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\ScopeInterface;
class TicketScope implements ScopeInterface {
public function apply(Builder $builder)
{
$builder->where('user_id', '=', Auth::user()->id_user);
}
public function remove(Builder $builder){}
}
, но у меня есть еще чем 15 моделей, необходимо расширять все классы. – mubarmg
Расширение классов - это одноразовая задача. В какой-то момент вам нужно сказать своей модели, что вам не нужна область действия. Другой способ - вызвать метод каждый раз, когда вы хотите игнорировать область действия (до создания экземпляра модели), что означает, возможно, несколько раз в одном заданном скрипте ... Расширение классов не имеет большого значения: как только это будет сделано, все будет сделано. И ваша модель имеет имя, которое означает, что это такое. Кстати, вы можете использовать его для Type Hinting. – Arcesilas
Контейнер Laravel 5.2 позволяет [контекстное связывание] (https://laravel.com/docs/5.2/container#contextual-binding), что может быть полезно в вашем случае ... Но Laravel 4.2 ...:/ – Arcesilas