2015-08-20 47 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