2017-04-14 27 views
1

我已經創建了產品類別&產品關係的映射表。我想使用下面的代碼從集合中獲取Product對象。Laravel Collection過濾爲父數據

return $collection->products->product_categories()->get()->filter(function($item) use ($itemIds) 
       { 
        if(isset($item->pivot->parent->id)) 
        { 
         return $item->pivot->parent;  
        } 

       }); 

如果我轉儲並死亡父母然後我可以看到Product對象,但是當我嘗試返回Product時,它顯示Category數據。

+0

您是如何映射模型中的關係的?所以你基本上想要獲得某些類別的產品,對吧? – Indra

回答

0

你快到了。您只需要從類別中返回產品數據。假設你的代碼工作正常,你只需要映射集合以從數據透視中返回父代。

return $collection->products->product_categories()->get()->filter(function($item) use ($itemIds) 
         { 
          if(isset($item->pivot->parent->id)) 
          { 
           return $item->pivot->parent;  
          } 

         })->map(function($item){ 
          return $item->pivot->parent; 
         });