【发布时间】:2018-02-10 14:33:51
【问题描述】:
无法显示来自数据库的信息以供查看,出现错误
错误异常 试图获取非对象的属性
让我解释一下逻辑:
- 用户可以创建多个公司
- 公司可以有很多项目
向数据库插入信息没有问题,一切都很好。 我可以在我的显示视图中显示来自用户表和公司表的所有信息,但我无法在我的视图中显示来自 Company_Items 表的信息。 我想我的关系或密钥有问题,但是什么? 试图显示属于特定公司的项目名称
{{$company->company_items->name}}
公司表:
- id(int)
- 公司名称(字符串)
- 信息(文本)
- user_id(int)
Company_items 表:
- id(int)
- company_id(int)
- 名称(字符串)
公司模式:
class Company extends Model
{
protected $table = 'company';
//relation. MANY companies can be created by ONE user
public function user(){
return $this->belongsTo('App\User');
}
//relation. ONE company can have MANY items
public function item(){
return $this->hasMany('App\Item');
}
}
物品型号:
class Item extends Model
{
protected $table = 'company_items';
//relation. MANY items can be applied TO ONE company
public function company(){
return $this->belongsTo('App\Company');
}
}
控制器:
public function show($id)
{
$company = Company::find($id);
$user = User::find($id);
$company_items = Item::find($id);
return view('company_show')->with(['company' => $company,'company_items' => $company_items]);
}
查看:
This is <b>{{$company->company_id}}</b> page info created by <b>{{$company->user->name}}</b><br>
Company category is <b>{{$company->company_category}}</b>.<br>
Item name is <b>{{$company->company_items->name}}</b>. // Can't display this expression
【问题讨论】:
-
查看下面的答案
标签: laravel