Конвертировать несколько массивов в строку в laravel - PullRequest
0 голосов
/ 30 октября 2018
$est_data = Establishments::where('status',0)->where('city','=',$data['location'])->get(array('id'));
return $est_data;

результат:

[{"id":43},{"id":71},{"id":41},{"id":39}]

Это мое состояние и результат выше уровня, я хочу, чтобы результат был как 43,71,41,39. Может кто-нибудь, пожалуйста, помогите мне, как это можно сделать с помощью php. я пробовал с implode() функцией, но получаю ошибку, пожалуйста, помогите ... спасибо

Ответы [ 4 ]

0 голосов
/ 30 октября 2018

Используйте функцию php array_column , указав id:

$est_data = Establishments::where('status',0)->where('city','=',$data['location'])->pluck('id');
return array_column("id", $est_data);
0 голосов
/ 30 октября 2018

Laravel pluck метод выберет только обязательные поля:

$est_data = Establishments::where('status',0)->where('city','=',$data['location'])->pluck('id');
return $est_data;

Как прокомментировал @apokryfos для вашей версии laravel (4.2) * Следует использовать метод lists, так что это:

$est_data = Establishments::where('status',0)->where('city','=',$data['location'])->lists('id');
return $est_data;
0 голосов
/ 30 октября 2018

Вы можете использовать laravel array_flatten () Помощник массива:

Функция array_flatten сглаживает многомерный массив в одноуровневый массив:

$array = array('name' => 'Joe', 'languages' => array('PHP', 'Ruby'));

$array = array_flatten($array);

// array('Joe', 'PHP', 'Ruby');

В вашем случае:

$est_data = Establishments::where('status',0)->where('city','=',$data['location'])->pluck('id');
return array_flatten($est_data);
0 голосов
/ 30 октября 2018
$result = implode(',',$est_data[0]);

Это решит вашу проблему. Вы должны прочитать о implode (преобразовать в строку) и explode (строка в массив). Это действительно полезные функции php.

Читая ваш комментарий, ваша ошибка связана с тем, что вы пытаетесь получить доступ к $set_data, а не к $set_data[0], где ваши значения основаны на выводе, который вы нам предоставили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...