簡體   English   中英

無法訪問Laravel Blade中的外鍵

[英]Cannot get access to my foreign key in Laravel Blade

我有'項目'和'客戶'之間的關系。 這是我的模特..

class Client extends Model
{
  public function projects() {
    return $this->hasMany('App\Models\Project');
  }
}

class Project extends Model
{
  public function clients() {
    return $this->belongsTo('App\Models\Client');
  }
}

在我的'Projects'控制器索引方法中..

$projects = Project::all();
return view('project/projects', compact('projects'));

然后在我的刀片文件中..

@foreach($projects as $project)
<div class="project">
  <div class="status pending"></div>
  <p>{{ $project->name }}</p>
  <span>{{ $project->clients->name }}</span>
</div>
@endforeach

我收到以下錯誤'試圖獲取非對象的屬性'。 Laravel的新手,請放輕松。

該代碼確實看起來會起作用(或者不會起作用,但出於不同的原因),但我發現有時你需要做這樣的事情,讓關系像你期望的那樣工作:

$projects = Project::with('clients')->get();
return view('project/projects', compact('projects'));

另請注意,由於clients是HasMany關系,因此您需要迭代$projects->clients以獲取其中一個的->name屬性。

在我的項目表的client_id列中,其中一個字段設置為0.因此,當迭代並到達該點時,它失敗了,這就是我的錯誤消息所涉及的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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