2014-08-29 4 views
0

Я хочу, чтобы внести изменение в записи базы данных,Отсутствует аргумент 1 для PostController :: postEditPost()

База данных настроена таким образом, что я могу делать откаты сообщений в зависимости от их версии.

я первый извлечь запись из базы данных:

public function getEditPost($id) 
{ 
    $posts = Post::find($id); 
    return View::make('posts.edit')->with('posts', $posts); 
} 

Это затем отображается в виде:

{{ Form::open(array('url' => '/post/editpost/')) }} 
{{ Form::label('content', 'Content') }} 
{{ Form::textarea('content', Input::old('content', $posts->content_posts()->first()['content'])) }} 
{{ Form::submit('Edit') }} 
{{ Form::token() }} 
{{ Form::close() }} 

Проблема возникает, когда я хочу, чтобы сделать новую запись из только что отредактированный содержание, мне нужно использовать идентификатор предыдущего сообщения, чтобы создать новый:

public function postEditPost($id) 
{ 
    $userId = Auth::user()->id; 
    $posts = Post::find($id); 
    $content = Input::get('content'); 

    $changePost = new ChangePost; 
    $contentpost = ContentPost::find($posts); 
    $changePost->user()->associate($userId); 
    $changePost->content_post()->associate($postId); 
    $contentpost->save(); 

    $postContent = new ContentPost; 
    $postContent->content = $content; 
    $postContent->post_id = $posts; 
    $postContent->post_id = $post->id; 
    $postContent->version = 1; 
    $postContent->save(); 

} 

Вот два пути:

Route::get('/post/editpost/{id}', array('as' => 'post-edit', 'uses' =>  '[email protected]')); 
Route::post('/post/editpost/', array('as' => 'post-edit-post', 'uses' => '[email protected]')); 

Как я могу передать идентификатор из getEditPost к postEditPost при создании новой записи в базу данных?

ответ

0

Один из способов передать его по маршруту, так что вы можете получить его путь к пытаются в своем действии контроллера:

Изменить свой маршрут:

Route::post('/post/editpost/{id}', array('as' => 'post-edit-post', 'uses' => '[email protected]')); 

И ваша форма открыта для:

{{ Form::open(array('route' => array('post-edit-post', $posts->content_posts()->first()->id))) }} 
+0

Thanks @Antonio! Это то, что я искал !!! Благодаря :) – escGoat007

Смежные вопросы