2015-04-14 2 views
0

Я хотел бы изменить запросы перед выполнением, как, например,Laravel QueryBuilder - крюк перед запросом выполняется

Event::listen('which event?', function($query) { 
    $query->where('foo', 'bar'); 
}); 

так, что Example::where('name', 'baz')->get() будет производить этот SQL-код:

select * from example where name = 'baz' and foo = 'bar'.

Возможно ли это?

ответ

1

Это, как правило, лучше всего обрабатывается с помощью global scope на вашей модели.

Иногда вы можете определить область действия, которая применяется ко всем запросам, выполняемым на модели. По сути, это то, как работает функция «мягкого удаления» Eloquent. Глобальные области определяются с использованием комбинации признаков PHP и реализации Illuminate \ Database \ Eloquent \ ScopeInterface.

Смежные вопросы