【发布时间】: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']);
-
我没有要删除的文件名,这里删除的只是函数名,我怀疑我在路由行中是否正确使用它
标签: laravel delete-row