我正在使用PHP Laravel 5.8创建编辑页面。我已经创建了路由和网址,但未显示错误404

时间:2019-06-06 06:41:10

标签: php laravel routes edit laravel-5.8

我正在通过构建工作门户应用程序来学习Laravel。我正在为公司方面编写代码以编辑他们的帖子。 现在我可以转到url,例如http://localhost:8000/jobs/23/edit。但是在屏幕上显示了404|not found错误消息

This is an screen shot

对于编辑页面,我创建了views / jobs / edit.blade.php。

当然,数据显然插入了我的工作表中。

我试图清除所有缓存,然后执行以下命令。

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'));
}

my-job.blade.php 我有一个编辑按钮,下面的代码是它的链接。

{{route('job.edit',[$job->id])}}

我的环境是Windows,XAMPP和本地MySQL服务器。

3 个答案:

答案 0 :(得分:1)

尝试这种方式:

<a href="{{route('job.edit',['id'=>$job->id])}}">Edit Job {{$job->id}}</a>

您可以通过以下方式清除路由缓存:

php artisan route:clear

update:运行以下命令清除缓存

php artisan config:clear
php artisan cache:clear

答案 1 :(得分:0)

我终于可以解决这个问题。

  1. 我改了一条新路线。

    Route :: get('/ test-jobs / {id} / edit','JobController @ edit')-> name('test-job.edit');

  2. 我像这样创建了新的blade.php,views / test-jobs / edit.blade.php

  3. 我还更改了JobController.php

    公共功能编辑($ id){         $ jobs = Job :: findOrFail($ id);         返回视图('test-jobs.edit',compact('jobs'));     }

最后,my-job.blade.php具有这样的编辑按钮。

 <a href="{{route('test-jobs.edit',[$job->id])}}"><button class="btn btn-dark">Edit</button></a>

但是,我仍然不知道它为什么起作用。

而且,我想我需要另一个解决方案。因为这样,我需要在视图中创建另一个新文件夹。

因此,如果有人知道其他解决方案,请告诉我。 谢谢。

答案 2 :(得分:0)

问题可能出在您的version: '3' services: app: container_name: docker-node-mongo restart: always build: . ports: - '80:3000' links: - mongo mongo: container_name: mongo image: mongo ports: - '27017:27017' volumes: - data-volume:/data/db volumes: data-volume: 的{​​{1}}行中,它返回以下视图:docker-node-mongo | MongoDB Connected docker-node-mongo | GET / 304 12.989 ms - - docker-node-mongo | Welcome to python docker-node-mongo | Spawned to python docker-node-mongo | Finally docker-node-mongo | Failed to start child. docker-node-mongo | Finished collecting data chunks. docker-node-mongo | Child process exited with code -2 docker-node-mongo | GET /python - - ms - - (可能不存在)。

尝试将行return view('jobs.myjob',compact('jobs'));更改为JobController.php,更改后它指向resources/views/jobs/myjob.blade.php,这应该可以解决您的问题。