Метод
в Eloquent ORM позволяет выполнять запросы к базе данных с помощью предложения SQL WHERE IN.
Вот пример того, как вы можете использовать метод whereinв Laravel:
$users = DB::table('users')
->whereIn('id', [1, 2, 3])
->get();
В этом примере мы запрашиваем таблицу «users» и получаем записи, в которых значение столбца «id» равно 1, 2 или 3.
Вот еще несколько примеров использования метода whereinв различных сценариях:
Пример 1. Запрос с массивом значений:
$users = DB::table('users')
->whereIn('role', ['admin', 'editor'])
->get();
В этом примере мы извлекаем пользователей, у которых в столбце «роль» указано значение «администратор» или «редактор».
Пример 2. Запрос с помощью подзапроса:
$activeSubscribers = DB::table('subscriptions')
->select('user_id')
->where('status', 'active');
$users = DB::table('users')
->whereIn('id', $activeSubscribers)
->get();
В этом примере мы извлекаем пользователей, значение столбца «id» которых присутствует в результате подзапроса, который извлекает активных подписчиков из таблицы «подписки».
Пример 3. Запрос к столбцу из другой таблицы:
$users = DB::table('users')
->whereIn('id', function ($query) {
$query->select('user_id')
->from('orders')
->where('total', '>', 100);
})
->get();
В этом примере мы извлекаем пользователей, значение столбца «id» которых присутствует в результате подзапроса, который извлекает значения «user_id» из таблицы «orders», где значение столбца «total» больше 100.