我试图在删除之前检查是否存在一种关系。我在网上见过很多关于这方面的帖子,但似乎无法让它发挥作用--当我点击delete时,它忽略了我的@if语句,并删除了记录。
Models/Workorder.php
...
public function continuations()
{
return $this->hasMany(Continuation::class);
}
...Models/Continuation.php
...
public function workorder()
{
return $this->belongsTo(Workorder::class, 'workorder_id');
}
...workorders/index.blade.php
...
<td class="pr-6">
<a wire:click="deleteWorkorder({{$workorder->id}})"
role="menuitem">
</a>
</td>
...Workorders/Index.php
...
public function deleteWorkorder($id)
{
$record = Workorder::find($id);
$conExists = Continuation::where('workorder_id', $record->id)->exists();
if($conExists){
session()->flash('failed-message', 'You can\'t delete a workorder that has a Continuation');
return;
}
$record->delete();
session()->flash('success-message', 'Workorder Deleted Successfully');
}
...发布于 2021-02-19 05:59:41
通过使用isNotEmpty()来尝试类似的方法
$workorder= workorder::find($request->id);
if ($workorder->continuations->isNotEmpty()) {
return session()->flash('failed-message', 'You can\'t delete a workorder that has a Continuation');
}https://stackoverflow.com/questions/66272404
复制相似问题