所以我试图检查我的engagements
集合中的记录是否包含我要删除的value
记录的匹配status
。
如果engagements
包含匹配的value
,我希望它返回响应而不删除记录。
但是,似乎返回一个匹配的值,而不管实际上是否存在。我已经检查了该集合,以确保status
集合中不存在要提交删除的engagements
,所以我不确定自己做错了什么。
这是控制者
public function destroy(Status $status)
{
$statusToDelete = Status::where('id', $status->id)->first();
$engagements = Engagement::where('workflow_id', $statusToDelete->workflow_id)->get();
if($engagements->containsStrict('status', $statusToDelete->status)) {
return response('Status Is In Use', 401);
};
$statusToDelete->delete();
return response('Status Has Been Deleted', 200);
}
答案 0 :(得分:0)
您可以尝试:
$engagements->contains(function ($engagement) use ($statusToDelete) {
return $engagement->status->status == $statusToDelete->status;
});
假设Engagement
具有Status
,而Status
具有属性status