我试图做的是在嵌套的ng-repeat
中获得雄辩关系的最深层次结构的属性。Angularjs + Laravel:在嵌套的ng-repeat中获取雄辩关系的属性
这是关系。
Order ..hasMany.. SubItems ..belongTo.. Product
有一个模型Order
,其hasMany
模型SubItems
。 SubItems
型号belongsTo
型号Product
。
我有一个Order
的数组,我想从Order
的每个对象访问相关的Product
和ng-repeat
。
<table>
<tbody ng-repeat="order in tc.orders" >//I use "as" syntax, so I use "tc."here
<tr ng-click="tc.showOrderDetail(order.id)">
<td ng-bind="order.id"></td>
<!-- "order.id" works in both lines -->
</tr>
<tr ng-repeat="subItem in order.subItems">
<td ng-bind="subItem.price"></td>
<!-- This "subItem.price" appears -->
<td ng-bind="subItem.product.name"></td>
<!-- This "subItem.product.name" doesn't appear -->
</tr>
</tbody>
</table>
的关系(SubItems
)的第二级可以通过将一个.
进行访问,但显然我需要用不同的方式来访问第三级(Product
)。
如果您提供任何建议,我将不胜感激。
信息
当我使用Laravel的foreach循环,这可以通过...访问
{{$subItem->product->name}} //This works fine!
控制器的方法是...
public function getOrders()
{
$orders = $this->order->with('customer', 'subitems')->orderBy('id', 'desc')->get();
return $orders;
}
请包含您的控制器代码。 'product'一定不能加载到你的'subItem'模型上,所以我们需要看你的控制器以帮助 – Jeff
谢谢Jeff。我添加了它。相信与否,当我使用Laravel的forloop时,没有错误,而'product'与'subitem'有关。 – Hiroki
当你调用'$ subItem-> product'时,它会自动为你加载它。如果您希望它以JSON格式显示,您必须手动加载它 – Jeff