Я делал примерно так
Модель для статей:
class Articles extends Model
{
protected $table = 'article';
public function category()
{
return $this->belongsTo('ArticlesCategory', 'id_category', 'id');
}
}
Модель для категорий:
class ArticlesCategory extends Model
{
protected $table = 'article_category';
public function articles()
{
return $this->hasMany('Articles', 'id_category', 'id');
}
}
Получаем статьи с категориями в контроллере
Articles::with('category')->paginate(25);
В шаблоне так:
$article->category->name