删除行时出现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-&gt;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 页面找不到的错误

更改参数顺序的 Laravel 路由中出现 404 错误

Laravel 自定义控制器出现 404 错误

Ajax 在 Laravel 8 中返回 404 错误但路由存在

Laravel 的 put/patch 没有进入我的更新方法,出现错误 404 page not found