2015-05-28 2 views
1

Я пытаюсь вернуть данные каждый раз, когда внутри Еогеасп(), но я продолжаю получать данные на первой итерации цикла здесь мой кодвозвращение в Еогеасп PHP и Laravel

for ($i = 0 ;$i<4;$i++) 
    { 
     var_dump($i); 
     $publisher = Publisher::find($results[$i]->publisherId); 
     //pr($publisher); 
     $channels =$publisher->channels()->get() ; 
     pr($channels[0]); 
     $data = ReviveAgent::getPublisherDailyStatistics($channels[0],$start,$end); 
     pr($data); 
     return Response::json($data); 


    } 

на var_dump ($ я); Это только показывает данные для первого 0 only.So, как я могу вернуть данные также для 1,2,3

здесь мой выходной, когда рг ($ данных) для var_dump ($ я) = 1

  array (

    0 => 
    array (
'impressions' => 1867, 
'clicks' => 14, 
'requests' => 44, 
'revenue' => 2.79, 
'day' => 
stdClass::__set_state(array(
    'scalar' => '20150518T00:00:00', 
    'timestamp' => 1431907200, 
    'xmlrpc_type' => 'datetime', 
    )), 
    ), 
1 => 
array (
'impressions' => 2197, 
'clicks' => 17, 
'requests' => 382, 
'revenue' => 19.829999999999998, 
'day' => 
stdClass::__set_state(array(
    'scalar' => '20150519T00:00:00', 
    'timestamp' => 1431993600, 
    'xmlrpc_type' => 'datetime', 
    )), 
), 
    2 => 
    array (
'impressions' => 5484, 
'clicks' => 3, 
'requests' => 3680, 
'revenue' => 6.7300000000000004, 
'day' => 
stdClass::__set_state(array(
    'scalar' => '20150520T00:00:00', 
    'timestamp' => 1432080000, 
    'xmlrpc_type' => 'datetime', 
)), 
), 
3 => 
array (
'impressions' => 6909, 
'clicks' => 105, 
'requests' => 5141, 
'revenue' => 378.88499999999999, 
'day' => 
stdClass::__set_state(array(
    'scalar' => '20150521T00:00:00', 
    'timestamp' => 1432166400, 
    'xmlrpc_type' => 'datetime', 
    )), 
    ), 
+0

Как насчет хранения всех полученных данных в массиве первой и после для цикла вы можете вернуть его – Szenis

+0

позвольте мне показать мою из положить на пр ($ данные) –

ответ

1

Оператор returnimplicitly ends the current execution scope. Контекст использования вами не указан, но вы можете поставить $data в array до кодирования JSON и вернуть его. Это может выглядеть примерно так:

$data = array(); 
foreach ($i = 0; $i < 4; $i++) { 
    ... 
    $record = ReviveAgent::getPublisherDailyStatistics($channels[0], $start, $end)); 
    pr($record); 
    $data[] = $record; 
} 
return Response::json($data); 
+0

я хочу, данные как json, потому что я хочу использовать данные где-то –

+0

@ReginwaldtLed - Обновлен мой ответ в соответствии с вашей новой информацией, приведенной о контексте + добавленном примере. – fantasticrice

+0

сейчас отображаются только последние данные –

Смежные вопросы