Как выбрать из базы данных, используя массив в состоянии в Laravel - PullRequest
1 голос
/ 28 мая 2019

У меня есть массив с именем $ slugs, и мне нужно получить таблицу данных из базы данных, которая называется post в одном массиве, как ее заархивировать?

Ответы [ 2 ]

2 голосов
/ 28 мая 2019

Если я не ошибаюсь, у вас есть массив слагов, подобный этому ['slug', 'slug1', 'slug2'], и вы хотите получить значения из таблицы, в которой слагы соответствуют вашему массиву слагов в одном запросе.

//Solution via eloquent
$slugs = ['slug', 'slug1', 'slug2'];

Post::whereIn('slug', $slugs)->get();

// Solution via Query builder
use Illuminate\Support\Facades\DB;

$slugs = ['slug', 'slug1', 'slug2'];
DB::table('posts')->whereIn('slug', $slugs)->get();

Если вы хотите преобразовать ответ всех ваших сообщений в массив, а затем присвоить его массиву $slugs, вам следует использовать приведенное ниже решение

$posts = Post::all()->toArray();
$slugs[] = $posts;

Чтобы узнать больше о whereIn посещении

0 голосов
/ 28 мая 2019

Если я правильно понял?Вам нужно получить ваши сообщения в массив под названием $ slugs.Просто:

$slugs = Posts::all()->toArray();
...