проблемы с получением данных из отношения hasManyThrough в laravel 4.2

У меня есть 3 таблицы в моей базе данных:

  1. сообщения содержат (id, title)
  2. категории (id, name),
  3. Categories_posts (post_id, categories_id).

я использую Ларавел 4.2. Это мои модели:

Post.php

protected $table = 'posts';
public function categories_posts()
{
return $this->hasMany('Categories_post', 'post_id');
}

public function categories()
{
return $this->hasManyThrough('Categories', 'Categories_post');
}

categories.php

protected $table = 'categories';

protected $fillable = ['name', 'description'];

public function categories_posts()
{
return $this->hasMany('Categories_post', 'categories_id');
}

public function posts()
{
return $this->hasManyThrough('Post', 'Categories_post');
}

categories.php

protected $table = 'categories_posts';

protected $fillable = ['categories_id', 'post_id'];

public function categories()
{

return $this->belongsTo('Categories');
}

public function posts()
{
return $this->belongsTo('Post');
}

PostsController.php

public function index()
{
$posts = Post::with('author')->get();
return View::make('posts.index', (
'posts' => $posts);
}

кратко представляет основной код
index.blade.php

@foreach ($posts as $post)
<tr>
<td>{{ $post->created_at }}</td>
<td>{{ $post->title }}</td>
<td>{{ $post->author->display_name }}</td>
@foreach ($post->categories->categories_post as $cat)
<td>{{ $cat->name }}</td><!-- how to get category name associated with posts !>
@endforeach
<td>{{ $post->status }}</td>
<td>{{ $post->comments_count }}</td>
@endforeach

Этот код возвращает ошибки, я не понимаю.

Так как получить category имя, которое связано с posts от hasManyThrough связь.

Предложите мне, если есть лучший способ, чем использовать hasManyThrough связь.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]