首页 > 解决方案 > 如何解决带有字符串主键的删除/编辑按钮在 Laravel 中不起作用?

问题描述

注意:我对项目中的所有表都使用相同的删除/编辑功能。

function confirmDelete(link, id) {
    ...
    .then((willDelete) => {
    if (willDelete) {
      window.location.href = "/del-"+link+id;
      swal("Supprimé avec succès!", {
      icon: "success",
    });
    ...
  }

删除函数PersonnelController

public function destroy(Request $request, $cin)
{
    $personnel = Personnel::findOrFail($cin);
    $personnel -> delete();
    redirect('/personnel');
}

路线 :

Route::get('/del-pers/{cin}', 'PersonnelController@destroy')->name('personnel.destroy');

编辑按钮在编辑页面中向我显示此错误:

Property [cin] does not exist on this collection instance.

Show按钮正常工作并向我显示记录,但删除按钮不起作用:

<a class="btn btn-sm bu5" href="/detail-pers/{{ $pers->cin }}"><i class="fa fa-eye"></i></a>
<a class="btn btn-sm bu5" href="/edit-pers/{{ $pers->cin }}"><i class="fa fa-edit "></i></a>
<a class="btn btn-sm bu5" onclick="confirmDelete('pers/', {{$pers->cin}})"><i class="fa fa-trash-alt"></i></a>
      

带有红色矢量的删除按钮问题

CIN是主键

例如:BB1194

标签: laravelprimary-keydelete-row

解决方案


如果您向我们提供您的路线,我们可以为您提供更好的答案。无论如何,如果你像下面这样定义你的删除路线

Route::get('del-pers/{id}' , ....)

它应该可以正常工作。或者,您可以使用“del-pers?cid=55”等查询参数发送请求并通过

$request->cid 

在你的控制器里面。


推荐阅读