Поэтому я пытаюсь проверить, содержит ли запись из моей коллекции 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);
}