Laravel有ManyThrough关系不起作用



考虑我有三个表,如下所示,

  1. 项目-id,名称

  2. 环境-id,project_ id,environment_id

  3. 部署-id,commit_hash

这里,项目id和部署id存储在环境中。环境和部署对于同一项目有多行。如果我有项目id,将如何成为拉拉威尔雄辩的关系。

我尝试了以下代码,但没有工作。return $this->hasManyThrough(Deployment::class, Environment::class);

提前谢谢。

在项目模型中,尝试添加此方法,您将获得具有环境的所有部署

public function deploymentWithEnv()
{
return $this->belongsToMany('deployments', 'environments', 'id', 'environment_id');
}

第二是用户中枢概念";"withpivot";,这将在项目模型中

public function deploymentWithEnv()
{
return $this->belongsToMany(Deployment::class, Environment::class, 
'project_id', 'environment_id');
}
public function deployments()
{
return $this->belongsToMany(Deployment::class);
}

控制器最后使用";带枢轴";

相关内容

  • 没有找到相关文章

最新更新