Получить идентификаторы из БД в Laravel

Могу ли я упростить этот код без foreach?

$userQuestIds = [2,4,45,586,16,2,143,234,654,78,56];

$typeQuests = [];
foreach ($userQuestIds as $qId) {
    $typeQuests[] = Quest::where(['id' => $qId])->first();
}
Шлюз в PHP
Шлюз в PHP
API-шлюз (AG) - это сервер, который действует как единая точка входа для набора микросервисов.
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Разработка Laravel помогает бизнесу достичь новых высот
Разработка Laravel помогает бизнесу достичь новых высот
Глобальный рынок электронной коммерции постоянно расширяется. Услуги Laravel Development позволяют им увеличить целевой рынок и продажи, предоставляя...
Использование SendGrid в Laravel
Использование SendGrid в Laravel
Чтобы использовать Sendgrid в Laravel, вам нужно выполнить следующие шаги:
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
Пользовательские правила валидации в Laravel
Пользовательские правила валидации в Laravel
Если вы хотите создать свое собственное правило валидации, Laravel предоставляет возможность сделать это. Создайте правило с помощью следующей...
0
0
58
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Вы можете использовать гдеВ:

$typeQuests = Quest::whereIn('id', $userQuestIds)->get();

ПРИМЕЧАНИЕ. Этот подход лучше подходит для столбцов, отличных от id (как основного). Я думаю, что решение @andriy-Lozynskiy - лучший способ.

Ответ принят как подходящий

Если id является первичным ключом, кратчайший путь:

$typeQuests = Quest::find($userQuestIds);

Это самый простой и лучший способ.

Rouhollah Mazarei 21.11.2022 13:46

Вы можете использовать метод whereIn() в классе QueryBuilder

$userQuestIds = [2,4,45,586,16,2,143,234,654,78,56];
$typeQuests = Quest::whereIn('id', $userQuestIds)->get();

Другие вопросы по теме