2016-11-16 2 views
0

Я использую Laravel 5.3 и имею запрос, но перед тем, как возвращать его, вам необходимо изменить структуру данных коллекции. Я пытаюсь очистить заказы, установив их в пустой массив, но он не очищается (я все еще получаю все исходные результаты в возвращаемом json). Однако, если я отключу заказы, он работает. На самом деле независимо от того, что я установил для него $ res-> product-> orders, это не сработает, если я не отложил его первым.laravel clear и item in collection data

$stores = array();  

foreach($data as $key => $res) { 

      // This is a hacky way to clear the orders but it works 
      $orders = array(); 
      unset($res->product->orders); 
      $res->product->orders = $orders; 

      // This is the way I would have done it but it doesn't work 
      $res->product->orders = array(); 

      $stores[$res->store_id]['name'] = $res->product->store_name; 
      $stores[$res->store_id]['data'][] = $res; 
     } 
+0

Можете ли вы показать нам данные, содержащиеся в $ данных –

+0

, к сожалению, данные являются конфиденциальными, но это выглядит обычный объект коллекции, и я получаю продукт – Jongo

ответ

0

Вы можете попробовать коллекции превратить любой Laravel 5.3 будет возвращать collection в обоих bulider запросов, красноречивый

$data->transform(function($item) { 
    return $item->product->orders = []; //I'm not sure here Product is object here? 
}); 
+0

, это заменяет весь $ item пустым массивом. Объект продукта доступен, но не возвращается в такт. – Jongo