首页 文章

Laravel 5雄辩地从第二个连接表的外键中包含另一个表的行

提问于
浏览
1

我有3个样本模型

  • customer

ID

  • order

ID

顾客ID

deliver_address_id

  • customer_address

id customer_id

国家

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

我想在一个查询中使用laravel 5 eloquent获取所有客户订单,包括地址 . 我是laravel中的新用户,因此很难查询复杂的关系表 . 我希望有人可以帮助我......谢谢

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
    

相关问题