Я пытаюсь использовать отношения «многие ко многим» между моими постами и моделями категорий. До сих пор я создавал записи, категории и таблицы post_categories.
В моих моделях у меня свои отношения
class Post extends Eloquent {
public function categories()
{
return $this->belongsToMany('Category', 'post_categories','category_id');
}
}
class Category extends Eloquent {
public function posts()
{
return $this->belongsToMany('Post','post_categories');
}
}
и в моих контроллерах, когда я пытаюсь создать экземпляр Post:
$post = new Post;
$post->title = e(Input::get('title'));
$post->slug = e(Str::slug(Input::get('title')));
$post->content = e(Input::get('content'));
// Was the blog post created?
if($post->save())
{
$id = (int) Input::get('category_id');
$category = Category::find($id);
$post->categories()->attach($category);
// Redirect to the new blog post page
return Redirect::to("admin/blogs/$post->id/edit")->with('success', Lang::get('admin/blogs/message.create.success'));
}
После отправки формы я вижу, что сообщение в блоге создается нормально. Когда я проверяю db, Category_id вставляется в таблицу post_categories, но post_id всегда равен 0.
Может ли кто-нибудь помочь мне это исправить?