Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 14.05.2015 13:15:44

Вернуть Get() c БД как масив.

Доброе утро.

Вопрос: возможно ли вернуть запрос к БД в виде масива, а не класа в laravel 5 ?
Поиск дает много вариантов, но все какие то "костыльные", хотелось бы иметь рабочей вариант - иногда надо.
То что я нашел:

$return = $query->orderBy($sidx, $sord)->get();
        $return = json_decode(json_encode($return) , true);
$data=array_map(function($item){
              return (array) $item;
          },DB::table('table_name')->select(.......)->get());

Изменено s_vadim (14.05.2015 13:16:45)

Не в сети

#2 14.05.2015 13:50:02

Re: Вернуть Get() c БД как масив.

Не в сети

#3 15.05.2015 11:43:03

Re: Вернуть Get() c БД как масив.

не работает

 $query = \DB::connection($tb['db'])->table($tb['table']);
        $query->select('RECORD_ID','call_time','AGENT_ID','PHONE_NUMBER','fio','city','adress','old','male','COMMENTS');
        

так :
        $qq = $query->orderBy('call_time', 'DESC')->get();
        $tables = $qq->toArray();
и так :
$tables = $query->orderBy('call_time', 'DESC')->toArray();
 
B так        
$tables = $query->orderBy('call_time', 'DESC')->get()->toArray();

Call to a member function toArray() on array

Мож в пятерке выпилили?

Не в сети

#4 15.05.2015 12:32:36

Re: Вернуть Get() c БД как масив.

Пардон, это для eloquent.

Чтобы query builder возвращал массив, в config/database нужно изменить опцию fetch на FETCH_ASSOC

Не в сети

#5 16.05.2015 15:07:20

Re: Вернуть Get() c БД как масив.

ну чего так все сложно то?
А просто переключать как то в коде можно? Вот везде клас но иногда не часто нужно вернуть в масиве ? Можно както переключить только в одной функции?
Не глобально ?

Не в сети

#6 16.05.2015 15:49:36

Re: Вернуть Get() c БД как масив.

Не в сети

#7 18.05.2015 12:05:06

Re: Вернуть Get() c БД как масив.

а сразу с модельками делать, не судьба?
с модельками можно нормальный запрос сделать не сильно напрягаясь.

Не в сети

Подвал раздела