Я использую CodeIgniter и таблицы данных.
Давайте поговорим о Модель сначала.
У меня всего 4 роли доступа, которые 1,2,3,4
, и я отображаю это в коде.
$this->session->userdata['login_session']['access_role']==4
Я уже установил сеанс для роли доступа. Итак, в модели я сначала проверяю роль доступа, а затем обрабатываю следующую.
В Модель Нет проблем с ролью доступа 1,2,4
. Я имею в виду if
условие и else
условие работает отлично.
Давайте поговорим о elseif
условии для роли доступа 3
в модели. Я получаю более одной записи в этом состоянии. и мой вывод
![enter image description here](https://i.stack.imgur.com/ym5JV.png)
Итак, я добавил более одного foreach в контроллер
foreach($order_list as $r) {
//foreach($order as $r) { }// This foreach is commented and If I remove comment then it's working but 1,2,4 not working
}
Так что мне нужно отобразить весь список, который находится в роли доступа 3.
Модель
public function getCSRList($send_id){
if ($this->session->userdata['login_session']['access_role']==4) {
$this->db->select('*');
$this->db->from('tbl_customer');
$this->db->where('created_by',$send_id);
$query = $this->db->get();
$result_4 = $query->result();
return $result_4;
}
elseif ($this->session->userdata['login_session']['access_role']==3) {
$this->db->select('id');
$this->db->from('tbl_employee');
$this->db->where('team_leadername', $send_id);
$query = $this->db->get();
$result = $query->result();
if($result)
{
$result_2= array();
foreach($result as $id){
$this->db->select('*');
$this->db->from('tbl_customer');
$this->db->where('created_by',$id->id);
$query = $this->db->get();
$result_2[] = $query->result();
}
return $result_2;
}
else
{
return 0;
}
}
else{
$this->db->select('*');
$this->db->from('tbl_customer');
$query = $this->db->get();
$result = $query->result();
return $result;
}
}
Контроллер
public function order_listdetails(){
$send_id =$this->session->userdata['login_session']['id'];
$order_list=$this->Customer_model->getCSRList($send_id);//getting from model
// Datatables Variables
$draw = intval($this->input->get("draw"));
$start = intval($this->input->get("start"));
$length = intval($this->input->get("length"));
$data['draw'] = 1;
$recordsTotal = count($order_list);
$recordsFiltered = count($order_list);
$data = array();
$n=1;
if(is_array($order_list)){
foreach($order_list as $r) {
//foreach($order as $r) {// remove comment then working for 3 but not working for 1,2,4
$encryption_id=base64_encode($this->encryption->encrypt($r->cust_id));
if ($r->status == -1){
$order_status='<a href="#">Action name</a>';
}
elseif($r->status == 0){
$order_status='<a href="#">Action name</a>';
}
elseif($r->status == 1){
$order_status='<a href="#">Action name</a>';
}
else{
$order_status='<a href="#">Action name</a>';
}
if ($r->status_confirm == -1){
$order_status_confirm='<a href="#">Action name</a>';
}
elseif($r->status_confirm == 3){
$order_status_confirm='<a href="#">Action name</a>';
}
elseif($r->o_order_status_confirm == 1){
$order_status_confirm='<a href="#">Action name</a>';
}
elseif($r->o_order_status_confirm == 2){
$order_status_confirm='<a href="#">Action name</a>';
}
else{
$order_status_confirm="";
}
$action='<a href="#">Action name</a>';
if ($r->follow == 1) {
$follow='<a href="#">Action name</a>';
}
else{
$follow='<a href="#">Action name</a>';
}
$data[] = array(
"Sr_No" => $n,
"cust_id" =>$encryption_id,//encrpt the id
"Name"=>$r->c_firstname."".$r->c_lastname,
"Mobile"=>$r->c_mobileno,
"orderStatus"=>"<div class='in_oneLine'>".$order_status." ".$order_status_confirm."</div>",
"action"=>"<div class='in_oneLine'>".$action." ".$follow."</div>"
);
$n++;
}
}
//}
$output = array(
"draw" => $draw,
"recordsTotal" => $recordsTotal,
"recordsFiltered" =>$recordsFiltered,
"data" => $data
);
echo json_encode($output);
exit();
}