Laravel 5.0更新表单不起作用

时间:2017-02-02 19:00:05

标签: php forms laravel-5

我有一个form :: model我创建的时候,如果我想编辑它,我会收到一个错误。 那说:

exception 'InvalidArgumentException' with message 'Route [test/edit] not defined.' in /www/testsite/vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:306

routes.php文件

Route::any('test/edit','Test\testController@edit');

edit.blade.php

{!! Form::model($display,array('url' =>  array('test/edit',$display->myID),'method' => 'put')) !!}


                    {!! Form::label('myID', 'My ID') !!}
                    {!! Form::text('myID') !!}

                        {!! Form::label('topic', 'Topic') !!}
                        {!! Form::text('topic') !!}
                        <br>
                        {!! Form::label('describe', 'describe') !!}
                        {!! Form::text('describe') !!}
                        <br>
   {!! Form::submit('Update') !!}

                        {!! Form::close() !!}

testController.php

public function edit($id,Request $request)
    {
       $myID = $request->myID;
       $topic = $request->topic;
       $descibe = $request->descibe;

       $validator = \Validator::make(
           array(
               'myID' => $myID,
               'topic' => $topic,
               'descibe' => $descibe
           ), array(
               'myID' => 'required|min:1',
               'topic' => 'required|min:2',
               'descibe' => 'required|min5'
           )
       );
$test = Test::find($id);
         $test->save();
}

1 个答案:

答案 0 :(得分:0)

在laravel中有一个方法“补丁”,你可以使用它。它在我的更新功能中为我工作,即

public function update(Request $request, $id)
{
    $this->validate($request, [
        'name' => 'required',
        'details' => 'required',
    ]);

    $input = $request->all();

    if ($request->hasFile('userpic')) {
        $userpic = $input['pic'];
        $file_path = public_path("avatars/$userpic");
        if(File::exists($file_path)) {
            File::delete($file_path);
        }
        $fileName = time().$request->userpic->getClientOriginalName();
        $request->userpic->move(public_path('avatars'), $fileName);
        $input['userpic'] = $fileName;
    }    
    Product::find($id)->update($input);
    return redirect()->route('productCRUD.index')->with('success','Product updated successfully');
}