Laravel Невозможно получить родителя категории - PullRequest
0 голосов
/ 07 января 2020

Я пытаюсь создать категорию, и я хочу показать имя категории и ее родителя, но я получаю следующее сообщение об ошибке:

Пытаюсь получить свойство 'name' не объект.

Вот моя модель:

public $timestamps = false;
public $primaryKey = 'id';
public function categories(){
    return $this->hasMany(category::class);
}

public function childrenCategories(){
    return $this->hasMany(Category::class)->with('categories');
}

public function parent(){
    return $this->belongsTo(Category::class,'category_id');
}

А это мой взгляд:

@foreach($categories as $category )
    <tr>
        <td>{{$category->id}}</td>
        <td>{{$category->name}}</td>
        <td>{{$category->parent->name}}</td>
    </tr>
@endforeach

1 Ответ

1 голос
/ 07 января 2020

Проблема в категориях, которые являются родителями, где category_id равен нулю

@foreach($categories as $category )
    <tr>
        <td>{{$category->id}}</td>
        <td>{{$category->name}}</td>
        <td>{{$category->parent != null ? $category->parent->name : ''}}</td>
    </tr>
@endforeach

Если вы хотите получить только те категории, у которых есть родители, вы можете сделать это следующим образом в контроллере:

$categories = Category::whereNotNull('category_id');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...