/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Complaint::find(); $query->joinWith(array('status', 'complainant')); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['Complaint.id' => $this->id, 'Complaint.registration_time' => $this->registration_time]); $query->andFilterWhere(array('like', 'Complainant.cnic', $this->cnic)); $query->andFilterWhere(array('like', 'Complainant.name', $this->name)); $query->andFilterWhere(array('like', 'ComplaintStatus.value', $this->status)); return $dataProvider; }
/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($id) { try { $complaint = Complaint::find($id); $complaint->delete(); } catch (Exception $e) { return redirect()->back()->withMessage('Error deleting Complaint, Possibly it is already Deleted')->withStatus('error'); } return redirect()->route('complaints.index', compact('complaint'))->withMessage('Complaints Updated')->withStatus('success'); }