【发布时间】:2018-06-11 22:29:49
【问题描述】:
我是 Laravel 的新手,想创建一个功能,通过单击链接从数据库中删除一条记录。
下面是视图上的代码:
@foreach($companies as $company)
<tr>
<td><a href="/companies/{{$company->id}}"> {{$company->name}}</a></td>
<td><a href="/companies/{{$company->id}}"> {{$company->descriptions}}</a></td>
<td><a href="/companies/{{$company->id}}"> {{$company->comptype->name}}</a></td>
<td>
<a href="{{route('companies.edit', $company->id)}}" class="btn btn-xs btn-default"><i class="fa fa-edit"></i></a>
<a onclick="
var result = confirm('Are you sure you wish to delete this Company?');
if( result ){
event.preventDefault();
document.getElementById('delete-form').submit();
}
"
class="btn btn-xs btn-default"><i class="fa fa-trash"></i> </a>
<form id="delete-form" action="{{ route('companies.destroy',[$company->id]) }}"
method="POST" style="display: none;">
<input type="hidden" name="_method" value="delete">
{{ csrf_field() }}
</form>
</td>
</tr>
@endforeach
接下来是Controller中的destroy方法
public function destroy(Company $company)
{
//
// dd($company);
$findCompany = Company::findOrFail( $company->id);
if($findCompany->delete()){
//redirect
return redirect()->route('companies.index')
->with('success' , 'Company deleted successfully');
}
return back()->withInput()->with('error' , 'Company could not be deleted');
}
单击垃圾箱时,要删除特定记录,表上的记录会被删除,无论我尝试删除哪条记录,第一条记录都会被删除。当我做 diedown 时,我发现 URL 有正确的记录,但 dd 显示第一条记录将被删除。我对 Laravel 相当陌生,我使用 Laravelcollective/html 完成了这项工作,但不幸的是它与 Laravel 5.5.28 不兼容。请热心帮忙
【问题讨论】:
-
您是否在控制器中打印了 $company->id ?你每次都做对了吗?