Получить любой предмет из массива с помощью whereIn в Laravel 5.3

Я использую Laravel 5.3 и пытаюсь построить запрос с несколькими функциями где и где. Вот мой код:

$posts_id = "1,3,4";  //from my query
$results = Post::select('*');
$results->whereIn('posts_id', [$posts_id]);
$resutls->get();

В моей базе данных есть 1 пост с идентификатором 4, но мой запрос ничего не возвращает. Хотя в моем посте есть 4 идентификатора $posts_id = "1,3,4";,

Нужна помощь, чтобы получать сообщения от любого идентификатора, который я включил в свой $posts_id переменная.

Заранее спасибо!

-1

Решение

Вам нужно передать массив методу whereIn ():

$results = Post::whereIn('posts_id', explode(',' $posts_id))->get();

Обратите внимание, что вам не нужно вызывать каждый метод в отдельной строке. Вы можете связать их Кроме того, выбор (‘*’) не требуется.

Вы можете создать свой массив любым способом, вам не нужно использовать explode ().

$ids = [1, 2, 3];
$results = Post::whereIn('posts_id', $ids)->get();

Перед выполнением этого запроса может быть полезно проверить, не является ли массив пустым.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]