В Laravel метод «когда» используется для условного применения ограничений запроса к экземпляру построителя запросов. Он позволяет добавлять в запрос дополнительные условия на основе заданного условия. Вот несколько примеров использования метода «когда» с кодом:
Пример 1. Применение условия к запросу
$isAdmin = true; // Assume this is the condition
$query = DB::table('users')
->when($isAdmin, function ($query) {
return $query->where('role', 'admin');
})
->get();
В этом примере, если условие $isAdmin
истинно, к запросу добавляется предложение where
, фильтруя пользователей с ролью «admin». В противном случае дополнительные ограничения не применяются.
Пример 2. Применение нескольких условий
$minAge = 18;
$maxAge = 30;
$query = DB::table('users')
->when($minAge, function ($query, $minAge) {
return $query->where('age', '>=', $minAge);
})
->when($maxAge, function ($query, $maxAge) {
return $query->where('age', '<=', $maxAge);
})
->get();
В этом примере, если указана переменная $minAge
, добавляется предложение where
для фильтрации пользователей с возрастом, превышающим или равным $. минВозраст
. Аналогично, если указана переменная $maxAge
, добавляется предложение where
для фильтрации пользователей с возрастом, меньшим или равным $maxAge
..
Это всего лишь пара примеров, иллюстрирующих использование метода «когда» в запросах Laravel. Вы можете использовать его в различных сценариях, чтобы условно применять ограничения запроса в зависимости от ваших конкретных потребностей.