簡體   English   中英

Laravel hasManyThrough 關系不起作用

[英]Laravel hasManyThrough relation not working

考慮我有三個表,如下所示,

  1. 項目 - id,名稱

  2. 環境 - id、project_id、environment_id

  3. 部署- 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM