Как я могу написать этот запрос в модели Codeigniter?

#mysql #codeigniter #model

#mysql #codeigniter #Модель

Вопрос:

 SELECT user_name, user_dept, user_level
FROM tbl_users
WHERE (user_dept = 'Admin' AND user_level = '2') OR (user_level = '3');
  

Мне нужно написать это в функции модели CI. То, что я попробовал, это

 function getForwardvalues($uname)
{
    $query = $this->db->select('user_name')->from('tbl_users')->where('user_dept'= $uname amp;amp; 'user_level'='2')->or_where('user_level'='3')->get();
    return $query->result();
}
  

Я тоже пробовал это, но я не получил то, что хотел

 function getForwardvalues($uname)
{
    $query = $this->db->select('user_name')
        ->from('tbl_users')
        ->group_start()
        ->where('user_dept =', $uname)
        ->where('user_level=', '2')
        ->group_end()
        ->or_where('user_level=','3')
        ->get();
    
    return $query->result();
}
  

Ответ №1:

попробуйте это

 function getForwardvalues($uname)
{

    $this->db->select('user_name, user_dept, user_level');
    $this->db->from('tbl_users');
    $this->db->where('(user_dept = "'.$uname.'" AND user_level = 2)')->or_where('user_level', 3);
    $query = $this->db->get();

    return $query->result();
}
  

Комментарии:

1. Что, если я хочу передать $uname этому «администратору» в предложении where?

2. @AB D чего вы на самом деле хотите??

3. КУМАР, мне нужно передать аргумент @uname «Администратору» Как?

4. ОК. я изменю слово admin на $uname в моей правке

Ответ №2:

 function getForwardvalues($uname)
{

$user_dept="Admin";
$user_level="3"; 

$query = $this->db->select("user_name, user_dept, user_level")
        ->from("tbl_users")
        ->where("user_dept",$user_dept)
        ->where("user_level",$user_level)
        ->or_where("user_level ",'3')
        ->get();

 return $query->result();
 
 }
  

Комментарии:

1. Нет, это не извлекает предложения first И where.. извлекает условие только после or_where