Ну, я начал с Laravel всего несколько недель назад, так что извините, если я повторяю что-то очевидное, но... вот в чем дело:
У меня есть несколько областей запросов в модели Photo:
public function scopeSkipFirst($query)
{
return $query->where('id', '>', 1);
}
public function scopeSearch($query, $search)
{
return $query->where('title', 'LIKE', "%$search%");
}
Теперь я хочу, чтобы первый выполнялся каждый раз, когда я делаю запрос Eloquent по этой модели, как в Photo::all()
; и я хочу, чтобы вторая область запроса была доступна для любой другой модели.
Каков наилучший способ сделать это? Оба сценария global scopes
? Я прочитал несколько сообщений (например, этот), но у меня нет четкого представления о том, на какую документацию мне следует ссылаться (Laravel 4.2 # Global scopes section
; 5.1 Eloquent # Events
; ¿?).