У меня есть две модели, Email и EmailReview.Электронная почта имеет много адресов электронной почты.Этот запрос:
$data = Email::with('emailReviews')->where('created_by', '=', $personId)->get();
возвращает коллекцию конкретного человека emails
, который имеет review_group_type
либо approval
или feedback
, а отношение email_reviews
имеет утвержденное свойство:либо true, false или null.Я ищу самый простой способ проверить, является ли электронное письмо подтверждением, и для всех отзывов в коллекции для утвержденного столбца установлено значение true, чтобы установить статус подтверждения для каждого сообщения, т. Е. $email->approvalStatus
.У некоторых писем также не будет отзывов, поэтому мне нужно проверить это.Что-то в этом роде, но это явно уродливо, и мне трудно получить конечный результат:
if ($data->review_group_type === 'approval') {
foreach($data as $email) {
if (!is_null($email->email_reviews))
foreach($email->email_reviews as $review) {
}
}
}