0

投稿とカテゴリ モデルの間に多対多の関係を使用しようとしています。これまでのところ、 posts 、categories および 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 です。

誰でもこれを修正するのを手伝ってもらえますか?

4

2 に答える 2