diff --git a/backend/app/Http/Controllers/Api/MeetingApprovalsController.php b/backend/app/Http/Controllers/Api/MeetingApprovalsController.php index d11d0674..4f5f965b 100644 --- a/backend/app/Http/Controllers/Api/MeetingApprovalsController.php +++ b/backend/app/Http/Controllers/Api/MeetingApprovalsController.php @@ -21,7 +21,15 @@ class MeetingApprovalsController extends Controller { if (null !== ($list = Meeting::select('id')->where('father_id', (int)session()->get('fathers')['id'])->get())) { foreach ($list as $i => $l) { - $count += MeetingApprovals::where('meeting_id', (int)$l->id)->whereNull('approval_at')->count(); + if (null === ($apr = MeetingApprovals::select('id')->where('meeting_id', (int)$l->id)->get())) { + continue; + } + + if (count($apr) == MeetingApprovals::select('id')->whereNotNull('approval_at')->where('meeting_id', (int)$l->id)->count()) { + continue; + } + + $count++; } } diff --git a/backend/app/Http/Controllers/Api/MeetingsController.php b/backend/app/Http/Controllers/Api/MeetingsController.php index dbd8b516..adf9383a 100644 --- a/backend/app/Http/Controllers/Api/MeetingsController.php +++ b/backend/app/Http/Controllers/Api/MeetingsController.php @@ -317,18 +317,14 @@ class MeetingsController extends Controller { continue; } - if (count($l->approvals->toArray()) != MeetingApprovals::select($meeting_approvals_select)->where('meeting_id', (int)$l->id)->count()) { - continue; - } - foreach ($l->approvals as $ii => $ll) { if (null === ($ll->child = Child::select($child_select)->where('id', (int)$ll->child_id)->first())) { $ll->child = new \stdClass(); } + } - if (!in_array($l, $result)) { - $result[] = $l; - } + if (!in_array($l, $result)) { + $result[] = $l; } } @@ -355,18 +351,14 @@ class MeetingsController extends Controller { continue; } - if (count($l->approvals) == MeetingApprovals::select($meeting_approvals_select)->whereNotNull('approval_at')->where('meeting_id', (int)$l->id)->count()) { - continue; - } - foreach ($l->approvals as $ii => $ll) { if (null === ($ll->child = Child::select($child_select)->where('id', (int)$ll->child_id)->first())) { $ll->child = new \stdClass(); } + } - if (!in_array($l, $result)) { - $result[] = $l; - } + if (!in_array($l, $result)) { + $result[] = $l; } } diff --git a/backend/app/Http/Middleware/NoticeIncomplete.php b/backend/app/Http/Middleware/NoticeIncomplete.php index 5591d481..30757308 100644 --- a/backend/app/Http/Middleware/NoticeIncomplete.php +++ b/backend/app/Http/Middleware/NoticeIncomplete.php @@ -23,7 +23,15 @@ class NoticeIncomplete if (null !== ($list = Meeting::select('id')->where('father_id', (int)session()->get('fathers')['id'])->get())) { foreach ($list as $i => $l) { - $count += MeetingApprovals::where('meeting_id', (int)$l->id)->whereNull('approval_at')->count(); + if (null === ($apr = MeetingApprovals::select('id')->where('meeting_id', (int)$l->id)->get())) { + continue; + } + + if (count($apr) == MeetingApprovals::select('id')->whereNotNull('approval_at')->where('meeting_id', (int)$l->id)->count()) { + continue; + } + + $count++; } }