Laravel 4 — использование идентификаторов из php array_push

Я пытаюсь заставить мой запрос взять значения из моего array_push, но не могу заставить его работать, если, конечно, массив не является жестко запрограммированным.

Массив приходит из предыдущего запроса

Я новичок в использовании array_push, поэтому оценил бы любой вклад в то, как лучше всего это сделать.

$pages = json_encode($pages);
$pages = json_decode($pages, true);

$get_ids = array();
array_push($get_ids, $pages[0]["id"]);

$get_ids = array(10);  // hardcoded

$getpages = DB::table('pages')
->whereIn('id', $get_ids)
->select('id', 'title')
->get();

массив из var_dump дает мне

array(1) { [0]=> string(2) "10" }

JSON с самого первого запроса

[{"id":"10","title":"About us"}]

0

Решение

array_push это встроенная функция PHP для добавления элемента в конец массива. Я думаю, что вы ищете array_pluck, которая является вспомогательной функцией Laravel для извлечения определенного ключа из всех элементов в массиве массивов или массиве объектов.

Например:

$pages = array(
array('id' => 10, 'name' => 'First'),
array('id' => 20, 'name' => 'Second')
);

// get an array of all the page ids
$ids = array_pluck($pages, 'id'); //= array(10, 20)

array_pluck работает с массивом массивов, массивом объектов или даже с коллекцией Laravel (например, результаты запроса к базе данных).

В конце ваш код, вероятно, может сводиться к чему-то вроде:

$get_ids = array_pluck($pages, 'id');
$getpages = DB::table('pages')
->whereIn('id', $get_ids)
->select('id', 'title')
->get();
1

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

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

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