我有3个样本模型
-
客户
id
-
订单
id
customer_id
delivery_address_id
-
客户地址
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