【问题标题】:How to attach extra values after Input::all() in Laravel如何在 Laravel 中的 Input::all() 之后附加额外的值
【发布时间】:2013-05-22 08:21:30
【问题描述】:

页面http://localhost/posts/post_id有一个评论表单
当我提交表单时,我想将post_id 值附加到Input::all(),因为表单不包含post_id 的输入字段。而post_id在评论表中的列名叫做post_id,创建评论的路径是comments.store
任何想法?谢谢!

【问题讨论】:

  • 你的路线是什么样的? Route::post('posts/{post_id}/comments', 'CommentsController@store')?
  • 它是一个资源控制器。 Route::resource('comments', 'CommentsController');

标签: php laravel


【解决方案1】:

这个怎么样...

function store($post_id)
{
    $data = Input::all();

    $comment = new Comment($data);
    $comment->post_id = $post_id;
    $comment->save();
}

【讨论】:

  • 我已经在控制器中尝试过你的建议,并通过post_id 值来查看$post_id。但我收到了{{ Form::open(array('route' => array('comments.store',$post_id))) }} 表单错误错误:array_combine(): Both parameters should have an equal number of elements
【解决方案2】:

我认为这应该可行:Input::merge(array('post_id' => $post_id));

【讨论】:

    【解决方案3】:

    就用这个吧:

    Request::instance()->query->set('key','value');

    【讨论】:

    • 能否请您在代码周围添加一些颜色,以使其成为更高质量的答案?
    • 你能帮我做吗?
    猜你喜欢
    • 2015-11-10
    • 1970-01-01
    • 2011-12-23
    • 2022-06-10
    • 1970-01-01
    • 2016-10-02
    • 2011-10-18
    • 2013-08-22
    • 2013-08-11
    相关资源
    最近更新 更多