Laravel破坏和更新方法不起作用

时间:2018-03-27 19:34:05

标签: php laravel laravel-5 laravel-5.6

尝试使用Laravel控制器中的destroy方法删除条目。

  def mp_worker(inputArg):
        cluster = Cluster(['<ip_address>'])
        session = cluster.connect()
        #execute logic

  def mp_handler(input_data, num_process):
        p = multiprocessing.Pool(num_process)
        p.map(mp_worker, input_data)
        p.close()
        p.join()   

  if __name__ == '__main__':
        # data_tables = list of variables which points to data for different tables
        # num_tables = number of tables
        mp_handler(data_tables, num_tables)
        # some other code

这就是我在视图中使用的

public function destroy($id)
{
    $university = University::find($id);
    $university->delete();
    return redirect('/universities');
}

按照指示激活按钮后,不会出现任何错误和浏览器重定向,但该条目仍保留在视图列表和数据库中。使用MySQL。

发布到数据库也可以正常工作,但更新方法有同样的问题。没有错误,我应该重定向,但没有更新。

{!!Form::open(['action' => ['UniversityController@destroy', $university->Id], 'method' => 'POST'])!!}
{{Form::hidden('_method', 'DELETE')}}
{{Form::submit('Delete', ['class' => 'btn btn-danger'])}}
{!!Form::close()!!}

并且在视野中:

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

    $university = University::find($id);
    $university->Name = $request->input('Name');
    $university->Country = $request->input('Country');
    $university->save();

    return redirect('/universities');
}

也尝试在没有隐藏表单方法的情况下运行,但结果相同。

我的路线:

{!! Form::open(['action' => ['UniversityController@update', $university->Id], 'method' => 'POST']) !!}
    <div class="form-group">
        {{Form::label('Name', 'Name')}}
        {{Form::text('Name', $university->Name, ['class' => 'form-control', 'placeholder' => 'Name'])}}
    </div>
    <div class="form-group">
            {{Form::label('Country', 'Country')}}
            {{Form::text('Country', $university->Country, ['class' => 'form-control', 'placeholder' => 'Country'])}}
        </div>
        {{Form::hidden('_method', 'PUT')}}
    {{Form::submit('Submit', ['class' =>'btn btn-primary'])}}
{!! Form::close() !!}

1 个答案:

答案 0 :(得分:1)

通过设置public $ primaryKey ='Id'解决;在模型中。