如何解决如何检索一对多关系此集合实例上不存在属性 [produks]
运营商模型
Google Sheets API
产品模型
public function produk()
{
return this->hasMany(Produk::class);
}
控制器
public function operator()
{
return this->belongsTo(Operator::class);
}
查看
public function operator()
{
$data = Operator::all();
return view('data',compact('data'));
}
输出
异常 此集合实例上不存在属性 [produk]。 (查看:C:\xampp\htdocs\laravel\oni\resources\views\data.blade.php)
出了什么问题?请帮助我,我是新手
解决方法
您正在调用集合上的关系。你必须像这样在单个实例上调用它
@foreach ($data as $o)
<tr>
<td>{{ $loop->iteration }}</td>
<td>{{ $o->n_oper }}</td>
<td>
@foreach ($o->produk as $p)
{{$p->n_prod}}
@endforeach
</td>
</tr>
@endforeach
也改变了
return this->hasMany(Produk::class);
这个
return $this->hasMany(Produk::class);
以及其他关系,如
return this->belongsTo(Operator::class);
到
return $this->belongsTo(Operator::class);
我希望它能奏效。
,这可能是一个错字??无论如何,您正在调用收集关系。关系属于一个对象。
@foreach ($data as $o)
<tr>
<td>{{ $loop->iteration }}</td>
<td>{{ $o->n_oper }}</td>
<td>
@foreach ($o->produk as $p)
{{ $p->n_prod }}
@endforeach
</td>
</tr>
@endforeach
data
是集合。你必须在 $o
可能还有其他一些错别字。您在 $
关键字中缺少 $this
符号。更新你们的关系
public function produk()
{
return $this->hasMany(Produk::class);
}
和
public function operator()
{
return $this->belongsTo(Operator::class);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。