2016-01-11 57 views
1

我有3個樣本模型Laravel 5雄辯inlcude從第2的外鍵的其它表的行加入表

  1. 客戶

    ID

  2. 爲了

    id

    CUSTOMER_ID

    deliver_address_id

  3. customer_address

    ID CUSTOMER_ID

    街道

    國家

客戶可以在其個人資料中保存許多地址,但他只能爲每個訂單選擇一個地址。

我想獲得所有的客戶訂單,包括一個查詢中的地址,使用laravel 5 eloquent。我是laravel的新手,所以很難查詢複雜的關係表。我希望有人可以幫助我..謝謝

回答

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

但如何在一個查詢使用laravel雄辯構造這個?使用雄辯的關係方法..我想要得到所有的客戶訂單,包括地址(treet&country)..謝謝 –

+0

$ cutomer-> orders() - > with('address') - > get() –