Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 5.2数据更新不工作:显示错误_Php_Html_Laravel_Laravel 5 - Fatal编程技术网

Php Laravel 5.2数据更新不工作:显示错误

Php Laravel 5.2数据更新不工作:显示错误,php,html,laravel,laravel-5,Php,Html,Laravel,Laravel 5,我使用的是Laravel5.2PHP框架。当我试图更新任何数据时,都是由于一个错误。我不知道为什么会发生这种情况?我已经在谷歌搜索过了,但是我没有得到任何可以解决我问题的结果 Myroutes.php: Route::group(['prefix' => 'jobs'], function () { Route::get('all', ['as' => 'allJobs' , 'uses' => 'JobController@index']); Route::g

我使用的是Laravel5.2PHP框架。当我试图更新任何数据时,都是由于一个错误。我不知道为什么会发生这种情况?我已经在谷歌搜索过了,但是我没有得到任何可以解决我问题的结果

Myroutes.php:

Route::group(['prefix' => 'jobs'], function () {
    Route::get('all', ['as' => 'allJobs' , 'uses' => 'JobController@index']);
    Route::get('create', ['as' => 'addNewJobs' , 'uses' => 'JobController@create']);
    Route::post('save', ['as' => 'saveJob' , 'uses' => 'JobController@store']);
    Route::get('edit/{id}', ['as' => 'editJobs' , 'uses' => 'JobController@edit']);
    Route::put('update', ['as' => 'updateJob' , 'uses' => 'JobController@update']);
    Route::get('delete/{id}', ['as' => 'deleteJob' , 'uses' => 'JobController@destroy']);

});
public function update(Request $request, $id=0)
{
    $id = $request->input("id");        
    $job = Jobs::find($id);
    $job->jobTitle = $request->input('jobTitle');
    $job->jobCat = $request->input('jobCat');
    $job->jobSummary = $request->input('jobSummary');

    $job->save();        
    return redirect(route('allJobs'));
}
MyJobController.php:

Route::group(['prefix' => 'jobs'], function () {
    Route::get('all', ['as' => 'allJobs' , 'uses' => 'JobController@index']);
    Route::get('create', ['as' => 'addNewJobs' , 'uses' => 'JobController@create']);
    Route::post('save', ['as' => 'saveJob' , 'uses' => 'JobController@store']);
    Route::get('edit/{id}', ['as' => 'editJobs' , 'uses' => 'JobController@edit']);
    Route::put('update', ['as' => 'updateJob' , 'uses' => 'JobController@update']);
    Route::get('delete/{id}', ['as' => 'deleteJob' , 'uses' => 'JobController@destroy']);

});
public function update(Request $request, $id=0)
{
    $id = $request->input("id");        
    $job = Jobs::find($id);
    $job->jobTitle = $request->input('jobTitle');
    $job->jobCat = $request->input('jobCat');
    $job->jobSummary = $request->input('jobSummary');

    $job->save();        
    return redirect(route('allJobs'));
}
错误:

Route::group(['prefix' => 'jobs'], function () {
    Route::get('all', ['as' => 'allJobs' , 'uses' => 'JobController@index']);
    Route::get('create', ['as' => 'addNewJobs' , 'uses' => 'JobController@create']);
    Route::post('save', ['as' => 'saveJob' , 'uses' => 'JobController@store']);
    Route::get('edit/{id}', ['as' => 'editJobs' , 'uses' => 'JobController@edit']);
    Route::put('update', ['as' => 'updateJob' , 'uses' => 'JobController@update']);
    Route::get('delete/{id}', ['as' => 'deleteJob' , 'uses' => 'JobController@destroy']);

});
public function update(Request $request, $id=0)
{
    $id = $request->input("id");        
    $job = Jobs::find($id);
    $job->jobTitle = $request->input('jobTitle');
    $job->jobCat = $request->input('jobCat');
    $job->jobSummary = $request->input('jobSummary');

    $job->save();        
    return redirect(route('allJobs'));
}

我真的不知道问题出在哪里?有谁能告诉我解决办法吗

注意:如果您需要,我可以提供更多信息。


您可以通过GET访问“作业/更新”路线。将http方法更改为PUT,可能是在表单中或在ajax请求中

您已将更新路由定义为

Route::put('update', ['as' => 'updateJob' , 'uses' => 'JobController@update']);
将此行替换为

Route::put('update/{id}', ['as' => 'updateJob' , 'uses' => 'JobController@update']);
然后你必须在表格中加上

method_field('PUT');
试试这个:

routes.php:

Route::group(['prefix' => 'jobs'], function () {
    Route::get('all', ['as' => 'allJobs' , 'uses' => 'JobController@index']);
    Route::get('create', ['as' => 'addNewJobs' , 'uses' => 'JobController@create']);
    Route::post('save', ['as' => 'saveJob' , 'uses' => 'JobController@store']);
    Route::get('edit/{id}', ['as' => 'editJobs' , 'uses' => 'JobController@edit']);
    Route::post('update', ['as' => 'updateJob' , 'uses' => 'JobController@update']);
    Route::get('delete/{id}', ['as' => 'deleteJob' , 'uses' => 'JobController@destroy']);

});
JobController.php:(确保在JobController.php中的
名称空间之后添加
使用输入;

添加update/{id}后,我无法编辑其显示的任何内容:prntscr.com/addc21和我的edit.blade.php声明的表单是`{!!form::model($job,array('route'=>'updateJob','class'=>'form horizontal','id'=>'export form','files'=>true))

从您的评论中可以看出,粘贴到此处时出现异常-因为在edit.blade.php文件中有数组('route'=>'updateJob'…),并且您已将路由更改为update/{id},现在需要传递该id 所以简单地替换 **

路由'=>'更新作业'

'route'=>['updateJob',$jobId]


对于这个问题,请提供JobController中第90行的内容。我只是假设您导入了错误的请求类。

我发现了我的问题。我的问题是
jobs.blade.php
文件。第一次我没有传递任何方法和
表单中的
$job
变量。现在我添加了两个
隐藏的
输入
字段,用于获取
方法和
id
s值。如果我用下面的代码替换
blade
表单,那么它工作正常

{!! Form::model($job,array('route' => 'updateJob', 'class' => 'form-horizontal',  'id'=> 'add-form', 'files' => true)) !!}
<input type='hidden' name='_method' value='put'>
<input type='hidden' name='id' value='{!! $job->id !!}'>

//here is other all fields
{!! Form::close() !!}
{!!Form::model($job,array('route'=>'updateJob','class'=>'Form horizontal','id'=>'add Form','files'=>true))
//这是其他所有字段
{!!Form::close()!!}

谢谢大家。希望这对任何人都有帮助。

我已经尝试了
{!!method_field('PUT')!!}
然后它显示错误
从空值创建默认对象
。你能显示视图部分吗。路由::put('update/{id}',['as'=>'updateJob','uses'=>'JobController@update']); 我想您在路由中丢失了id这是视图部分,当我单击“更新”时,它显示错误。我声明了
route::get('edit/{id}',['as'=>'editJobs','uses'=>'JobController@edit']);所以它被编辑是正确的,但是它没有将更新的信息保存到数据库中。添加
update/{id}
后,我不能编辑它显示的任何内容:我的
edit.blade.php
声明的表单是`{form form::model($job,array('route'=>'updateJob',class'=>'form horizontal','id'=>'export form','files'=>true))`我在
名称空间
之后添加了
使用输入
,但未找到其显示输入类。这只是一个错误。感谢您的帮助。要修复该错误,您需要在app.php中的
别名
中添加此行
'Input'=>illumb\Support\Facades\Input::class
。然后确保运行composer dump autoload。