次のコードをご覧ください。私がCodeigniterで書いたこのコード。条件と注文条件は、それらの投稿要求が設定されている場合にのみ機能します。そうでなければ、私はただselect * from student
です。Laravel Eloquent必要な場合のみ、条件を注文してください
CodeIgniterのコード
$this->db->select('*');
$this->db->from('student');
if($this->input->post('first_name') != NULL){
$first_name = $this->input->post('first_name');
$this->db->where('first_name', $first_name);
}
if($this->input->post('last_name') != NULL){
$last_name= $this->input->post('last_name');
$this->db->where('last_name', $last_name);
}
if($this->input->post('order_by') != NULL){
$order_by= $this->input->post('order_by');
$this->db->order_by($order_by);
}
$query = $this->db->get();
Laravelコード
私はlaravelと同じことを行うつもりです。
$first_name = $request->input('first_name');
$last_name = $request->input('last_name');
$order_by = $request->input('$order_by');
$students = Student::orderBy($order_by)
->where('first_name',$first_name)
->where('last_name',$last_name);
->paginate(10);
上記のコードを実行できました。このコードは、すべての投稿要求がある場合に機能します。
ただし、first_name
投稿要求がない場合は、->where('first_name',$first_name)
を削除する必要があります。
投稿がありませんorder_by
投稿がない場合は、orderBy($order_by)
を削除する必要があります。
上記で行う方法ラーベルコード。