Laravel 5雄辩地从第2个联接表的外键包括另一个表的行



我有3个样本模型

  1. 客户

    id

  2. 订单

    id

    customer_id

    delivery_address_id

  3. 客户地址

    idcustomer_id

    街道

    国家

客户可以在个人资料中保存多个地址,但每个订单只能选择一个地址。

我想使用laravel 5雄辩地在一个查询中获得包括地址在内的所有客户订单。我是laravel的新手,所以很难查询复杂的关系表。

class Customer extends Model {
    $table = 'customers';
    function addresses(){
        return $this->hasMany(Address::class, 'customer_id');
    }
    function orders(){
        return $this->hasMany(Order::class, 'customer_id');
    }
}
class Order extends Model {
    $table = 'orders';
    function address(){
        return $this->belongsTo(Address::class, 'address_id');
    }
    function customer() {
        return $this->belongsTo(Customer::class, 'customer_id');
    }
}
class Address extends Model{
    $table = 'customer_addresses';
    function customer(){
        return $this->belongsTo(Customer::class, 'customer_id');
    }
}

TABLES : 
1 customers
        id
2 orders
        id
        customer_id
        address_id
3 customer_addresses
        id
        customer_id
        street
        country

最新更新