Vision Coderz
Vision Coderz

Reputation: 8078

How to store data using relation in laravel?

i have two table

posts

id|post_title|post_content

post_images

id|images|post_id

Controller

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

Also i have added Relation

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');
    }
}

I have one form where i adding post title ,post content and selecting multiple images. My question is how I can store post images along with post id in post_images table?

Upvotes: 1

Views: 377

Answers (1)

codegenin
codegenin

Reputation: 450

In you controller AddPost function try (using Form model binding)

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

Or you can also do like this I think

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

Upvotes: 1

Related Questions