Angularjs + Laravel:在嵌套的ng-repeat中获取Eloquent Relationships的属性

What I'm trying to do is to get a property of the deepest hierarchy of Eloquent Relations in a nested ng-repeat.

Here is the relationship.

Order ..hasMany.. SubItems ..belongTo.. Product

There is a model Order, which hasMany model SubItems. This SubItems model belongsTo a model Product.

I have an array of Order, and I'd like to access the relevant Product with ng-repeat from the each Order object.

    <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>

The second level of the relationship (SubItems) can be accessed by putting a ., but apparently I need to use a different way to access the third level (Product).

I'd appreciate if you'd give any advice.

Additional information

When I use Laravel's foreach loop, this can be accessed by...

{{$subItem->product->name}} //This works fine!

The controller method is...

public function getOrders()
{
    $orders = $this->order->with('customer', 'subitems')->orderBy('id', 'desc')->get();
    return $orders;
}

In your code you're not telling Laravel to eagerLoad the Project Model onto your Subitem Model. you need to add the Product eager loading like so :

$this->order->with('customer', 'subitems.product')->orderBy('id', 'desc')->get();

and access it like any other javascript object subItem.product.name

The reason it worked for you in Laravel foreach loop was because when you request a relationship like an attribute in Laravel i.e $subItem->product and not as a method, Laravel automatically instantiate the relationship Eloquent object, into the Model object.