Столбец не найден: 1054 Champ 'posts.categorie_id' inconnu

Я хочу получать СООБЩЕНИЯ из КАТЕГОРИИ, я делаю отношение HasMany/belongsTo, но это дает мне ошибку.

Categorie.php

public function posts(){
        return $this->hasMany('App\Post');
    }

Post.php

public function category(){
        return $this->belongsTo('App\Category');
    }

SiteController.php

public function getPostsOfCategory($slug){

        $categorie=Categorie::where('slug',$slug)->first();
        $posts= $categorie->posts()->paginate(4);
        $categories=Categorie::all();

        return view('site.blog',['posts'=>$posts,'categories'=>$categories]);
    }

person Dev Tin    schedule 30.11.2019    source источник


Ответы (2)


Прежде всего, вы назвали модель Categorie, но использовали Category.

return $this->belongsTo('App\Category');

->

return $this->belongsTo('App\Categorie');

Это может быть не все решение.

После этого проверьте имя столбца внешнего ключа в таблице сообщений. И изменить/добавить его в базу данных или передать вторым параметром в отношение belongsTo().

person IndianCoding    schedule 30.11.2019

Ошибка в вашем SiteController

public function getPostsOfCategory($slug)
{

        $categorie=Categorie::where('slug',$slug)->first();
        $posts= $categorie->posts;
        $categories=Categorie::all();

        return view('site.blog',['posts'=>$posts,'categories'=>$categories]);

 }
person thefabdev    schedule 30.11.2019
comment
свойство ->posts возвращает коллекцию, не имеющую метода нумерации страниц. - person IndianCoding; 01.12.2019
comment
Верно. Пропустил это. Спасибо. - person thefabdev; 01.12.2019
comment
у него нет ошибки в контроллере. - person IndianCoding; 01.12.2019