0
我有一個模型機鋒叫(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