【发布时间】:2016-02-23 20:47:14
【问题描述】:
我在“项目”和“客户”之间有关系。这是我的模型..
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 = 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 新手,请放轻松。
【问题讨论】:
-
你在项目表中命名的外键是什么?是
clid或client_id还是别的什么? -
'client_id' 我认为这是惯例
-
如果您的项目表中有
client_id列,那么代码在制作项目时也应该按预期工作您是否将客户ID 附加到项目中?你能 dd($project) 告诉我们结果吗? -
你是这个意思吗?项目 {#231 ▼ +timestamps: false #fillable: array:12 [▶] #connection: null #table: null #primaryKey: "id" #perPage: 15 +incrementing: true #attributes: array:14 [▶] #原文:array:14 [▶] #relations: [] #hidden: [] #visible: [] #appends: [] #guarded: array:1 [▶] #dates: [] #dateFormat: null #casts: [ ] #touches: [] #observables: [] #with: [] #morphClass: null +exists: true +wasRecentlyCreated: false }
-
打印
original数组结果
标签: php mysql html laravel-5 blade