加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – laravel NotFoundHttpException

发布时间:2020-12-14 19:45:24 所属栏目:大数据 来源:网络整理
导读:我是laravel的新人.我正在尝试建立到另一个页面的链接.我有页面索引,并且想去desc,它显示有关在索引页面中选择的车辆的信息. 问题是它显示错误: Symfony Component HttpKernel Exception NotFoundHttpException index.blade.php @foreach ($cars as
我是laravel的新人.我正在尝试建立到另一个页面的链接.我有页面索引,并且想去desc,它显示有关在索引页面中选择的车辆的信息.
问题是它显示错误:

Symfony Component HttpKernel Exception NotFoundHttpException

index.blade.php

    @foreach ($cars as $car)
           <tr>                                   
           <td> 
           {{link_to_action('CarController@show',$car->Description,$car->id)}}</td>  
             {{ Form::open(array('action' => 'CarController@show',$car->id)) }}
                  {{ Form::close() }}
                        <td>{{ $car->License }}</td>  
                        <td>{{ $car->Milage }}</td> 
                        <td>{{ $car->Make }}</td>  
                        <td>{{ $car->status }}</td>                                    
          </tr>                                                            
    @endforeach

routes.php文件

Route::resource('/','CarController');
Route::resource('create','DataController');
Route::post('desc',array('uses' => 'CarController@show'));
Route::post('create',array('uses' => 'CarController@create','uses' => 'DataController@index'));
Route::post('update',array('uses' => 'CarController@update'));
Route::post('store',array('store' => 'CarController@store'));
‘NotFoundHttpException’表示Laravel无法找到请求的路由.

您的desc路由只是一个POST路由,而link_to_action将创建一个GET请求,因此您可能还需要更改添加GET路由:

Route::post('desc',array('uses' => 'CarController@show'));
Route::get('desc',array('uses' => 'CarController@show'));

还有一个,它可以执行GET,POST,PUT,DELETE:

Route::any('desc',array('uses' => 'CarController@show'));

如果您需要从路线获取和ID,则必须将其添加为参数:

Route::post('car/{id}',array('uses' => 'CarController@show'));

您必须访问您的页面:

http://myappt.al/public/car/22

但是如果你想访问它:

http://myappt.al/public/22

你需要这样做:

Route::post('{id}',array('uses' => 'CarController@show'));

但是这个是危险的,因为它可能会抓住所有路线,所以你必须将它设置为你最后的路线.

并且您的控制器必须接受该参数:

class CarController extends Controller {

   public function show($id)
   {
      dd("I received an ID of $id");
   }
}

编辑:

既然你手动制作了大部分路线,你也可以这样使用索引:

Route::resource('create','DataController'); 

Route::get('/','CarController@index');

Route::post('create','uses' => 'DataController@index')); 
Route::post('update',array('uses' => 'CarController@update')); 
Route::post('store',array('store' => 'CarController@store')); 

Route::get('{id}',array('uses' => 'CarController@show'));
Route::post('{id}',array('uses' => 'CarController@show'));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读