sortField === $field) { $this->sortAsc = ! $this->sortAsc; } else { $this->sortAsc = true; } $this->sortField = $field; } public function render() { $data = []; if ($this->filterT) { $member_cards = \App\Models\MemberCard::with('member')->where('expire_date', '>', date("y-m-d")); if ($this->filterFrom != '') $member_cards = $member_cards->where('expire_date', '>=', $this->filterFrom); if ($this->filterTo != '') $member_cards = $member_cards->where('expire_date', '<=', $this->filterTo); $member_cards = $member_cards->orderBy('expire_date')->get(); foreach($member_cards as $member_card) { $data[] = array('type' => 'Tessera', 'name' => $member_card->member->first_name . " " . $member_card->member->last_name, 'date' => $member_card->expire_date); } } if ($this->filterC) { $member_certificates = \App\Models\MemberCertificate::with('member')->where('expire_date', '>', date("y-m-d")); if ($this->filterFrom != '') $member_certificates = $member_certificates->where('expire_date', '>=', $this->filterFrom); if ($this->filterTo != '') $member_certificates = $member_certificates->where('expire_date', '<=', $this->filterTo); $member_certificates = $member_certificates->orderBy('expire_date')->get(); foreach($member_certificates as $member_certificate) { $data[] = array('type' => 'Certificato', 'name' => $member_certificate->member->first_name . " " . $member_certificate->member->last_name, 'date' => $member_certificate->expire_date); } } /* if ($this->hasFilter) { if ($this->filterT) { $member_cards = \App\Models\MemberCard::with('member')->where('expire_date', '>', date("y-m-d")); if ($this->filterFrom != '') $member_cards = $member_cards->where('expire_date', '>=', $this->filterFrom); if ($this->filterTo != '') $member_cards = $member_cards->where('expire_date', '<=', $this->filterTo); $member_cards = $member_cards->orderBy('expire_date')->get(); foreach($member_cards as $member_card) { $this->records[] = array('type' => 'Tessera', 'name' => $member_card->member->first_name . " " . $member_card->member->last_name, 'date' => $member_card->expire_date); } } if ($this->filterC) { $member_certificates = \App\Models\MemberCertificate::with('member')->where('expire_date', '>', date("y-m-d")); if ($this->filterFrom != '') $member_certificates = $member_certificates->where('expire_date', '>=', $this->filterFrom); if ($this->filterTo != '') $member_certificates = $member_certificates->where('expire_date', '<=', $this->filterTo); $member_certificates = $member_certificates->orderBy('expire_date')->get(); foreach($member_certificates as $member_certificate) { $this->records[] = array('type' => 'Certificato', 'name' => $member_certificate->member->first_name . " " . $member_certificate->member->last_name, 'date' => $member_certificate->expire_date); } } } else { $member_cards = \App\Models\MemberCard::with('member')->where('expire_date', '>', date("y-m-d")); if ($this->filterFrom != '') $member_cards = $member_cards->where('expire_date', '>=', $this->filterFrom); if ($this->filterTo != '') $member_cards = $member_cards->where('expire_date', '<=', $this->filterTo); $member_cards = $member_cards->orderBy('expire_date')->get(); foreach($member_cards as $member_card) { $this->records[] = array('type' => 'Tessera', 'name' => $member_card->member->first_name . " " . $member_card->member->last_name, 'date' => $member_card->expire_date); } $member_certificates = \App\Models\MemberCertificate::with('member')->where('expire_date', '>', date("y-m-d")); if ($this->filterFrom != '') $member_certificates = $member_certificates->where('expire_date', '>=', $this->filterFrom); if ($this->filterTo != '') $member_certificates = $member_certificates->where('expire_date', '<=', $this->filterTo); $member_certificates = $member_certificates->orderBy('expire_date')->get(); foreach($member_certificates as $member_certificate) { $this->records[] = array('type' => 'Certificato', 'name' => $member_certificate->member->first_name . " " . $member_certificate->member->last_name, 'date' => $member_certificate->expire_date); } }*/ if ($data) { $key_values = array_column($data, 'date'); array_multisort($key_values, SORT_ASC, $data); $this->records = $data; } else { $this->records = []; } if ($this->sortAsc) usort($this->records, function ($a, $b) {return $a[$this->sortField] > $b[$this->sortField];}); else usort($this->records, function ($a, $b) {return $a[$this->sortField] < $b[$this->sortField];}); return view('livewire.reminders'); } public function search() { $this->hasFilter = true; } public function disableSearch() { $this->filterC = true; $this->filterT = true; $this->filterTo = ''; $this->filterFrom = ''; $this->hasFilter = false; } }