[英]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.