删除行时出现404 laravel 8错误[关闭]
Posted
技术标签:
【中文标题】删除行时出现404 laravel 8错误[关闭]【英文标题】:404 laravel 8 error while deleting the rows [closed] 【发布时间】:2022-01-18 09:52:06 【问题描述】:////////////控制器///////
> <?php namespace App\Http\Controllers; use App\Models\Project; use
> Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use View;
> class ProjectController extends Controller
> public function list()
>
> $projs= Project::all();
>
> return view('project', compact('projs'));
>
>
>
> function addProject(Request $req)
>
> $dataValidate= $req->validate( [
> 'Pmid'=> 'required',
> 'Ministry'=> 'required',
> 'P_name'=> 'required',
> 'Budget'=> 'required',
> ] );
>
> if($dataValidate)
>
> $project= new Project;
> $project->Pmid=$req->Pmid;
> $project->Ministry=$req->Ministry;
> $project->P_name=$req->P_name;
> $project->Budget=$req->Budget;
> // $project->Registered_date=$req->Registered_date;
> $project->save();
>
> return redirect('add');
>
>
>
>
> function delete($id)
>
> $pro= Project::find($id);
> $pro->delete();
> // DB::delete('delete from projects where id=?',[$id])
>
> return redirect('project');
>
>
> ?> ```
////////////blade view/////////////
@extends('master') @section('content') 新 员工 身份证号码 项目中 部 项目名 预算 注册日期 操作
@foreach ($projs as $proj) <tr> <td style="border:1px solid black;">$proj->id</td> <td style="border:1px solid black;">$proj->Pmid</td> <td style="border:1px solid black;">$proj->Ministry</td> <td style="border:1px solid black;">$proj->P_name</td> <td style="border:1px solid black;">$proj->Budget</td> <td style="border:1px solid black;">$proj->Registered_at</td> <td style="border:1px solid black; background:violet"> <a href="delete/".$proj['id']> Delete</a> </td> </tr> @endforeach </table> @endsection ```
///////////路由/////////////
> <?php use Illuminate\Support\Facades\Route; use
> App\Http\Controllers\ProjectController; use App\Models\Project;
> /* |-------------------------------------------------------------------------- | Web Routes
> |-------------------------------------------------------------------------- | | Here is where you can register web routes for your application.
> These | routes are loaded by the RouteServiceProvider within a group
> which | contains the "web" middleware group. Now create something
> great! | */ Route::get('/', 'HomeController@index');
> Route::get('/about', 'HomeController@about'); Route::get('/contact',
> 'HomeController@contact'); Route::get('/welcome2',
> 'HomeController@welcome2'); Route::get('/project',
> 'ProjectController@list');
> Route::view('add','addproject'); //insert data Route::post('add',[ProjectController::class,'addProject']); //for
> insert data Route::get('delete/id',
> [ProjectController::class,'delete']);
>
>
> */ ?>
我正在使用 laravel 版本 8,我也尝试使用 @method 删除该行,但它没有帮助,当我单击链接时仍然给我同样的错误,出现 404 错误并在地址内栏给我删除/身份证号码。我相信它无法读取路线,但不清楚对我来说是什么问题!
通过优化命令简单地解决了这个问题 :) tnx
【问题讨论】:
你之前使用$proj->id
,为什么要使用$proj['id']
作为你的删除路由?
我删除了那个,但给了我同样的错误,Route::get('delete'[ProjectController::class,'delete']);
我没有要删除的文件名,这里删除的只是函数名,我怀疑我在路由行中是否正确使用它
【参考方案1】:
将您的删除链接更改为:
<a href="delete/".$proj['id']> Delete</a> </td>
到:
<a href= url('delete'). '/' .$proj->id > Delete</a> </td>
【讨论】:
谢谢,但它仍然给我同样的错误,至于我的刀片视图名称是 project.blade.php ,我的控制器是 ProjectController,我在 web.php 中有我的路由,我的模型名称是 Project,我是 laravel 的新手,我正在观看教程并完全按照它们进行操作 谢谢大家,我使用了这个命令'php artisan optimize',终于可以正常工作了以上是关于删除行时出现404 laravel 8错误[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
在 laravel-8 中找不到 Laravel PHP 错误 404 [重复]
Laravel 404错误,Laravel根目录可以访问,非根目录就会出现404 页面找不到的错误