我正在使用 PHP Laravel 5.8 创建编辑页面。我已经创建了路线和 url,但出现错误 404 not found
I am creating edit page using PHP Laravel 5.8. I have created routes and url, but error 404 not found shows up
我正在通过构建求职门户应用来学习 Laravel。我正在为公司编写代码以编辑他们的 post。
现在我可以去 url,例如)http://localhost:8000/jobs/23/edit
。但是在屏幕上显示 404|not found
错误消息
This is an screen shot
对于编辑页面,我创建了 views/jobs/edit.blade.php。
当然,我的作业中明明插入了数据table。
我尝试清除所有缓存并执行以下命令。
1. composer dump-autoload
2. php artisan clear-compiled
3. php artisan optimize
4. php artisan config:cache
web.php
Route::get('/jobs/{id}/edit', 'JobController@edit')->name('job.edit');
JobController.php
public function edit($id)
{
$jobs = Job::findOrFail($id);
return view('jobs.myjob',compact('jobs'));
}
我的工作。blade.php
我有一个编辑按钮,下面的代码是 link 它有。
{{route('job.edit',[$job->id])}}
我的环境是 Windows、XAMPP 和本地 MySQL 服务器。
尝试这种方式:
<a href="{{route('job.edit',['id'=>$job->id])}}">Edit Job {{$job->id}}</a>
您可以通过以下方式清除路由缓存:
php artisan route:clear
更新:运行 以下命令清除缓存
php artisan config:clear
php artisan cache:clear
终于可以解决这个问题了
我换了一条新路线
Route::get('/test-jobs/{id}/edit', 'JobController@edit')->name('test-job.edit');
我这样创建了新的blade.php,views/test-jobs/edit。blade.php
我也改了JobController.php
public 函数编辑($id){
$jobs = Job::findOrFail($id);
return视图('test-jobs.edit',紧凑('jobs'));
}
最后,my-job.blade.php 有一个这样的编辑按钮。
<a href="{{route('test-jobs.edit',[$job->id])}}"><button class="btn btn-dark">Edit</button></a>
但是,我仍然不知道它为什么起作用。
而且,我想我需要另一种解决方案。因为这样的话,我需要在views中再新建一个文件夹。
因此,如果有人知道其他解决方案,请告诉我。
谢谢。
问题可能出在您的 JobController.php
中的 return view('jobs.myjob',compact('jobs'));
行,它 returns 以下视图:resources/views/jobs/myjob.blade.php
(可能不存在)。
尝试将行 return view('jobs.myjob',compact('jobs'));
更改为 return view('jobs.edit',compact('jobs'));
,更改后它指向 resources/views/jobs/edit.blade.php
,这应该可以解决您的问题。
我正在通过构建求职门户应用来学习 Laravel。我正在为公司编写代码以编辑他们的 post。
现在我可以去 url,例如)http://localhost:8000/jobs/23/edit
。但是在屏幕上显示 404|not found
错误消息
This is an screen shot
对于编辑页面,我创建了 views/jobs/edit.blade.php。
当然,我的作业中明明插入了数据table。
我尝试清除所有缓存并执行以下命令。
1. composer dump-autoload
2. php artisan clear-compiled
3. php artisan optimize
4. php artisan config:cache
web.php
Route::get('/jobs/{id}/edit', 'JobController@edit')->name('job.edit');
JobController.php
public function edit($id)
{
$jobs = Job::findOrFail($id);
return view('jobs.myjob',compact('jobs'));
}
我的工作。blade.php 我有一个编辑按钮,下面的代码是 link 它有。
{{route('job.edit',[$job->id])}}
我的环境是 Windows、XAMPP 和本地 MySQL 服务器。
尝试这种方式:
<a href="{{route('job.edit',['id'=>$job->id])}}">Edit Job {{$job->id}}</a>
您可以通过以下方式清除路由缓存:
php artisan route:clear
更新:运行 以下命令清除缓存
php artisan config:clear
php artisan cache:clear
终于可以解决这个问题了
我换了一条新路线
Route::get('/test-jobs/{id}/edit', 'JobController@edit')->name('test-job.edit');
我这样创建了新的blade.php,views/test-jobs/edit。blade.php
我也改了JobController.php
public 函数编辑($id){ $jobs = Job::findOrFail($id); return视图('test-jobs.edit',紧凑('jobs')); }
最后,my-job.blade.php 有一个这样的编辑按钮。
<a href="{{route('test-jobs.edit',[$job->id])}}"><button class="btn btn-dark">Edit</button></a>
但是,我仍然不知道它为什么起作用。
而且,我想我需要另一种解决方案。因为这样的话,我需要在views中再新建一个文件夹。
因此,如果有人知道其他解决方案,请告诉我。 谢谢。
问题可能出在您的 JobController.php
中的 return view('jobs.myjob',compact('jobs'));
行,它 returns 以下视图:resources/views/jobs/myjob.blade.php
(可能不存在)。
尝试将行 return view('jobs.myjob',compact('jobs'));
更改为 return view('jobs.edit',compact('jobs'));
,更改后它指向 resources/views/jobs/edit.blade.php
,这应该可以解决您的问题。