Попытка получить свойство не-объекта [LARAVEL] - PullRequest
0 голосов
/ 09 июля 2020

Я на самом деле пытаюсь получить данные внутри отношений, которая сама находится в отношениях с 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), я могу получить заметку о моем обзоре ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...