Скорее всего, у вас перепутаны родитель и дочка в отношениях.
Кроме того, у вас почему-то отношение "один-к-одному", хотя судя из названий классов (Article и Category) отношение должно быть "один-ко-многим" (одна категория может содержать много статей, а одна статья принадлежит только одной категории).
Должно быть как-то так:
// Category.php
public function articles(){
return $this->hasMany('App\Article');
}
// Article.php
public function category(){
return $this->belongsTo('App\Category');
}
Тогда структура БД должна быть такая:
categories:
- id
- name
- slug
articles:
- id
- category_id
- title
- content
Использовать отношения можно будет так:
$article = Article::find(1); // Получаем статью с ID 1
$category = $article->category; // Получаем категорию статьи
dump($category->name); // Выводим название категории
dump($category->articles); // Выводим список всех статей в данной категории