ОШИБКА - Попытка получить свойство необъекта - в laravel - PullRequest
0 голосов
/ 01 июля 2019

У меня проблема, когда я получаю имя категории из таблицы категорий ... код здесь ..

Спасибо.

 public function viewProducts(){

     $products = Product::get();
     $products = json_decode(json_encode($products));

     foreach($products as $key => $val){
        $category_name = Category::where(['id'=>$val->category_id])->first();
        $products[$key]->category_name= $category_name->name;
     }
     echo "<pre>";print_r($products);die;

     return view('admin.products.view_products')->with(compact('products'));
}

ErrorException (E_NOTICE) Попытка получить свойство не-объект введите описание изображения здесь

1 Ответ

0 голосов
/ 01 июля 2019

Ошибка прямая.Вы не получили никаких объектов переменной $ category_name и пытаетесь получить доступ к значению свойства name.Что не определено, потому что нет объекта.

Добавьте простое условие, чтобы исправить это следующим образом

public function viewProducts(){
  $products = Product::get();
  $products = json_decode(json_encode($products));

  foreach($products as $key => $val){
    $category_name = Category::where(['id'=>$val->category_id])->first();
      if($category_name != null){
        $products[$key]->category_name= $category_name->name;
      }
    }
  echo "<pre>";print_r($products);die;

  return view('admin.products.view_products')->with(compact('products'));
}

Чтобы отправить данные на ваш блейд:

# Controller:
$data['category_name'] = $category_name;
$data['products'] = $products;
->withKeyName($data);

# Blade:
{{ $KeyName['category_name'] }}
{{ $KeyName['products'] }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...