gpt4 book ai didi

php - Laravel 5.1 hasManyThrough 关系和数据透视表

转载 作者:可可西里 更新时间:2023-11-01 12:17:12 27 4
gpt4 key购买 nike

我在我的应用程序中设置了以下模型/表;

时间表

  • 用户编号

用户

  • 编号

supervisor_user

  • 用户编号
  • supervisor_id

用户通过 supervisor_user 数据透视表“分配”给主管。

我在 User 模型上设置了以下关系,它获取主管用户。

/**
* The supervisors that are assigned to the user.
*
* @return Object
*/
public function supervisors()
{
return $this->belongsToMany('App\Models\User\User', 'supervisor_user', 'user_id', 'supervisor_id')->withTimestamps();
}

我想建立另一个关系,该关系获取“分配”给主管的时间表列表。我在猜测与 hasManyThrough 的关系...但不完全是如何为它编写代码。

我怎样才能达到我的需要?

最佳答案

在你的角色模型中创建一个方法:

public function users()
{
return $this->belongsToMany('App\Models\User\User',
'supervisor_user', 'supervisor_id', 'user_id')->withTimestamps();
}

在你的用户模型中创建一个方法:

public function timesheets()
{
return $this->hasMany('App\Timesheet', 'user_id');
}

然后调用电话:

$supervisorRole = Role::find($id);

foreach($supervisorRole->users as $user)
$timesheets = $user->timesheets;
endforeach

关于php - Laravel 5.1 hasManyThrough 关系和数据透视表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36596068/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com