【问题标题】:Missing argument Laravel controller function edit缺少参数 Laravel 控制器功能编辑
【发布时间】:2014-01-16 13:43:27
【问题描述】:

我对此有疑问

我有一个文章列表,并且每个元素都有一个编辑按钮,如何下代码:

<p><a href="edit?{{$element->idarticle}}" class="btn btn-primary">modifier l'article</a></p>

我正在发送到文件路由:

Route::get('/edit', 'ArticleController@edit');

到文件 ArticleController 方法编辑:

public function edit($idarticle)
{
    $artic=article::find($idarticle);
    if(is_null ($artic))
    {
        App::abort(404);
    }
    $form_data = array('route' => array('article.update', $artic->idarticle), 'method' => 'PATCH');
    $action    = 'modifier';
    return View::make('article.create')->with('artic', $artic);
}

那我不明白我的错误

【问题讨论】:

    标签: php html web laravel-4


    【解决方案1】:

    大概把Route::get('/edit', 'ArticleController@edit');改成Route::get('/edit/{idarticle}', 'ArticleController@edit');

    还有

    <p><a href="edit?{{$element->idarticle}}" class="btn btn-primary">modifier l'article</a></p>
    

    需要

    <p><a href="edit/{{$element->idarticle}}" class="btn btn-primary">modifier l'article</a></p>
    

    路由器中的参数不是作为html参数传递的,而是URL的一部分。所以结合这两个变化,它应该可以工作。

    【讨论】:

    • hmmm...你也可以尝试添加 where 约束吗?
    • 的模特文章说你?
    • 我的意思是添加 '->where(array('idarticle'=>'[0-9]+'));'在 Route::get('/edit/{idarticle}', 'ArticleController@edit') 之后
    • 如果我错了,请纠正我。您描述的错误是“$idarticle”在“编辑”函数中为空吗?所以调用了函数,但参数为空。
    • 我试过这个你说的 Route::get('/edit/{idarticle}', 'ArticleController@edit')-> where (array ('idarticle'=>' [0-9 ] + '));但不工作
    猜你喜欢
    • 2014-02-02
    • 2016-02-04
    • 2016-10-27
    • 2021-09-06
    • 2017-07-29
    • 1970-01-01
    • 1970-01-01
    • 2020-05-31
    • 1970-01-01
    相关资源
    最近更新 更多