[英]Laravel hasManyThrough relation not working
考慮我有三個表,如下所示,
項目 - id,名稱
環境 - id、project_id、environment_id
部署- id,commit_hash
在這里,項目 id 和部署 id 存儲在環境中。 環境和部署對於同一個項目有多行。 如果我有項目 ID,laravel eloquent 關系將如何。
我嘗試了以下代碼但無法正常工作。 return $this->hasManyThrough(Deployment::class, Environment::class);
提前致謝。
在項目 model 嘗試添加此方法,您將獲得所有具有環境的部署
public function deploymentWithEnv()
{
return $this->belongsToMany('deployments', 'environments', 'id', 'environment_id');
}
其次是用戶 pivot 概念“withpivot”,這將在項目 model 中
public function deploymentWithEnv()
{
return $this->belongsToMany(Deployment::class, Environment::class,
'project_id', 'environment_id');
}
public function deployments()
{
return $this->belongsToMany(Deployment::class);
}
最后在 controller 使用“withPivot”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.