2015-08-20 74 views
0

在Laravel中,我設置了API,因此產品以JSON格式顯示所有產品,並且效果很好。每個產品都有,並且可以有很多股票。股票是指我們擁有的產品的數量,以及產品的大小。所以每個產品可以有多個庫存,比如他們可以有一個尺寸4個,另一個5個。從AngularJS和Laravel有很多關係中獲得結果?

我剛剛在我的AngularJS中打過一堵磚牆,在那裏我試圖獲得產品中包含股票的所有產品(這是在Laravel中建立的關係,hasMany,股票表有product_id柱)。我真的不知道如何在Angular中做到這一點。任何對正確方向的幫助都會很棒!

+0

您試過類似:Products :: with('stocks') - > get()[http://laravel.com/docs/5.1/eloquent-relationships]?這樣你的收藏有相關的庫存物品...你也可能想看看急切的加載。我希望我能給你提示:) – ThatMSG

+0

哇,我想你剛剛解決了我的問題!非常感謝,我完全瞭解那些文檔,我想我一定錯過了它! – bin0

回答

1

我真的不知道怎麼做,在AngularJS,但如果你將在Laravel的方式做到這一點

定義您ProductsModel

public function stocks(){ 
    return $this->hasMany('StocksModel','product_id','id'); 
} 

public function getProductsWithStocks(){ 
    return ProductsModel::with('stocks')->get(); 
} 

,並在控制器

$products = ProductsModel::getProductsWithStocks(); 

//return the view 
return View::make('product.stock', ['products' => $products]); 

然後在您的產品庫存查看

@foreach($products as $product) 
Product Name:{{$product->name}} 
@if($product->stocks) //check if there is stock 
    @foreach($product->stocks as $stock) 
    Size {{$stock->size}} has {{$stock->quantity}} left 
    @endforeach 
@endif 
@endforeach