php - 试图获取非对象的属性 [LARAVEL]
问题描述
我实际上试图在关系中获取数据,该关系本身就是与 foreach 的关系。这是我的视图代码:
@foreach($currentCategory->products as $product)
<article class="card card-product-list">
<div class="row no-gutters">
<aside class="col-md-3">
<a href="#" class="img-wrap">
@if($product->images->isEmpty())
<img src="{{ asset('customers/images/not-found.jpg') }}" alt="main picture">
@else
<img src="{{ asset('merchants/images/products/' . $product->images->first()->image) }}">
@endif
</a>
</aside> <!-- col.// -->
<div class="col-md-6">
<div class="info-main">
<a href="#" class="h5 title">{{ $product->name }}</a>
{{ $product->reviews->first()->note }}
<div class="rating-wrap mb-3">
<ul>
<li style="width:80%" class="stars-active">
<i class="fa fa-star"></i> <i class="fa fa-star"></i>
<i class="fa fa-star"></i> <i class="fa fa-star"></i>
<i class="fa fa-star"></i>
</li>
<li>
<i class="fa fa-star"></i> <i class="fa fa-star"></i>
<i class="fa fa-star"></i> <i class="fa fa-star"></i>
<i class="fa fa-star"></i>
</li>
</ul>
<div class="label-rating">7/10</div>
</div> <!-- rating-wrap.// -->
<p>{{ $product->description }}</p>
</div> <!-- info-main.// -->
</div> <!-- col.// -->
<aside class="col-sm-3">
<div class="info-aside">
<div class="price-wrap">
<span class="price h5">{{ getPrice($product->normal_price) }}</span>
</div> <!-- info-price-detail // -->
<br>
<p>
<a href="#" class="btn btn-primary btn-block pt-8">En savoir plus</a>
</p>
</div> <!-- info-aside.// -->
</aside> <!-- col.// -->
</div> <!-- row.// -->
</article> <!-- card-product .// -->
@endforeach
这是我的控制器:
public function viewCategory($category)
{
$currentCategory = Category::where('slug', $category)->firstOrFail();
$parentCategory = $currentCategory;
if ($currentCategory->parent_id != NULL) {
while ($parentCategory->parent_id != NULL) {
$parentCategory = Category::where('id', $parentCategory->parent_id)->first();
}
}
return view('customers.pages.categories.view', compact('currentCategory', 'parentCategory'));
}
实际上,如果我做了$product->reviews->first()
,我明白了:
{
"id": 1,
"product_id": 1,
"author": "Florian K.",
"author_id": 1,
"note": 3,
"headline": "lourd",
"review": "lourd",
"published": 1,
"created_at": "2020-07-08T20:42:44.000000Z",
"updated_at": "2020-07-08T20:42:44.000000Z"
}
]
但是当我添加->note
到我的行 ( $product->reviews->first()->note
) 时,我收到如下错误:
我不明白为什么我会得到这个,因为我得到了第一个数组并且我得到了数组的所有元素。当我这样做时,dd($product->reviews->first()->note)
我可以得到我的评论记录......
解决方案
推荐阅读
- excel - excel vba中具有多个条件的数据从一张表提取到另一张表
- jelastic - Jelastic:有支持 ed25519 ssh 密钥的计划吗?
- laravel - 同一个ip地址如何设置80端口的域名和子域名?
- python-3.x - Python 字典带有退出代码 0
- entity-framework - 实体框架核心多对多实现
- javascript - 如何将 numeric.js 导入我的 javascript 文件
- ruby - 如何将事件作为综合浏览量发送到谷歌分析
- mysql - 如何在 mySQL 中添加截止日期列并从 angular-node.js 获取日期
- java - 如何更改 ListView 中特定字符串的字体颜色和样式?
- python - URL 没有跳到 Django 中的正确数字