【问题标题】:Getting a result from it's hasMany relationship in AngularJS and Laravel?从 AngularJS 和 Laravel 中的 hasMany 关系中得到结果?
【发布时间】:2015-08-21 04:47:43
【问题描述】:

在 Laravel 中,我设置了 API,因此 /products 以 JSON 格式显示所有产品,效果很好。每个产品都有,并且可以有很多库存。库存是说我们拥有的产品数量和产品的大小。因此,每个产品可以有多个库存,例如它们可以有 4 个一种尺寸,5 个另一种。

我刚刚在我的 AngularJS 中碰了壁,我试图在其中获取产品包含库存的所有产品(在 Laravel、hasMany 中设置为关系,并且 stock 表有一个 product_id 列)。我真的无法弄清楚如何在 Angular 中做到这一点。朝着正确方向的任何帮助都会很棒!

【问题讨论】:

  • 您是否尝试过类似的方法:Products::with('stocks')->get() [laravel.com/docs/5.1/eloquent-relationships]?这样,您的 Collection 就有相关的库存项目......您可能还想看看急切加载。我希望我能给你一个提示:)
  • 哇,我想你刚刚解决了我的问题!非常感谢,我一直在看那些文档,我想我一定错过了!

标签: php angularjs laravel relationships


【解决方案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

【讨论】:

    猜你喜欢
    • 2014-03-02
    • 2016-07-12
    • 2016-09-23
    • 2015-11-29
    • 2021-12-14
    • 2021-03-22
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多