Laravel 5 eloquent包含来自第二个连接表的外键的另一个表的行

问题描述 投票:1回答:1

我有3个样本模型

  1. 顾客 ID
  2. 订购 ID 顾客ID deliver_address_id
  3. customer_address id customer_id 街 国家

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

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

php laravel laravel-4 laravel-5 eloquent
1个回答
0
投票
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
© www.soinside.com 2019 - 2024. All rights reserved.