我有3个模特
user
helper
order
user
已通过多对多 helper
数据透视表与helper_user
相关联,并通过与orders
连接多对多 order_user
数据透视表。
我可以通过
轻松选择helpers
' s user
s
class Helper extends Model {
...
public function users() {
return $this->belongsToMany('App\User')
}
...
}
我可以通过
轻松选择user
' s order
s
class User extends Model {
...
public function orders() {
return $this->hasMany('App\Order');
}
...
}
但如何选择helper
' order
?
我试过了:
class Helper extends Model {
...
public function orders() {
return $this->users()->join('orders', 'users.id', '=', 'orders.user_id')->select('orders.*');
}
...
}
这会返回order
个,但其类别为App\User
。
答案 0 :(得分:3)
无需在辅助模型中为与订单的关系定义方法。您可以使用dot syntax获取订单。
$usersOrders = App\Helper::with('users.orders')->get();