如何在laravel中使用关系存储数据?

时间:2015-09-08 09:32:25

标签: php laravel laravel-5.1

我有两张桌子

帖子

id|post_title|post_content

post_images

id|images|post_id

控制器

public function AddPost(Request $request)
    {
        Post::create($request->all());
        // PostImage::create();
        return Redirect::to('Post');
    }

我也添加了关系

class Post extends Model
{
protected $table = 'posts';

    public function images()
    {
        return $this->hasMany('App\PostImage');
    }
}


class PostImage extends Model
{
    public function post()
    {
        return $this->belongsTo('App\Post');
    }
}

我有一个表单,我添加帖子标题,发布内容和选择多个图像。我的问题是我如何在post_images表中存储帖子图片和帖子ID?

1 个答案:

答案 0 :(得分:1)

在你的控制器AddPost函数中尝试(使用表单模型绑定)

    $post = new Post($request->all());
    PostImage::post()->images()->save($post);

或者你也可以这样做我认为

public function AddPost(Post $post, Request $request)
{
    $input = Input::all();
    $input['post_id'] = $post->id;
    PostImage::create( $input );
    return Redirect::to('Post');
}