首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel 5-雄辩的belongsToMany查询问题

Laravel 5-雄辩的belongsToMany查询问题
EN

Stack Overflow用户
提问于 2016-08-27 05:45:53
回答 1查看 85关注 0票数 0

我是个处理幼体的新手,我被困在某个地方

我有这样的场景,我正在努力获得正确的关系,我希望有人能给我一些启发:)

我有两个模型: Order和User。我有两种类型的用户。客户和专业人士。当客户下订单时,会分配给5名专业人员。

我创建了一个数据透视表' order _user',来处理每个订单所选择的专业人员。

哦,我不能把用户分为客户和专业人员,因为专业人员也可以充当客户,从其他类型的专业人员那里订购服务。

这些是我认为我会添加到两个模型中的关系代码片段(可能根本不起作用)

在我的用户模型上:

客户端用户订购

代码语言:javascript
复制
public function orders(){
    return $this->hasMany('App\Orders');
}

专业用户分配的订单

代码语言:javascript
复制
public function assigned_orders(){
    return $this->belongsToMany('App\Order', 'order_user', 'order_id', 'user_id');
}

在我的订单模型上:

订单创建者用户

代码语言:javascript
复制
public function user(){
    return $this->belongsTo('App\User');
}

分配给该订单的用户

代码语言:javascript
复制
public function assigned_users(){
    return $this->belongsToMany('App\User', 'order_user', 'order_id', 'user_id');
}

这有什么意义吗?

作为一名专业人员,我如何检索分配给我的订单?

如果还有其他需要修改的地方,请告诉我

感谢你们所有人的参与!

EN

回答 1

Stack Overflow用户

发布于 2016-08-27 06:02:29

我认为你可以简化你的设置--

在您的用户模型中:

代码语言:javascript
复制
public function orders(){
    return $this->belongsToMany('App\Order', 'order_user', 'order_id', 'user_id');
}

在您的订单模型中:

代码语言:javascript
复制
public function users(){
    return $this->belongsToMany('App\User', 'order_user', 'order_id', 'user_id');
}

然后,要检索“您的”分配的订单,您需要做的就是:

代码语言:javascript
复制
$my_orders = User::find(Auth::user()->id)->orders;

如果你想在你的订单模型中保留“所有者”的概念:

代码语言:javascript
复制
public function owner(){
    // references owner_id
    return $this->belongsTo('App\User');
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39175032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档