我想问一下,是否可以在连接后指定where子句,以便将数据与用户输入相匹配。比方说,我有以下代码:
$this->db->select('user.*,role.*')
$this->db->from('user');
$this->db->where('user.username', $username);
$this->db->where('user.password', $password);
$this->db->join('role','role.id = user.role_id')
$result = $this->db->get();
我想查询表'role'中的匹配数据:
$this->db->select('user.*,role.*')
$this->db->from('user');
$this->db->where('user.username', $username);
$this->db->where('user.password', $password);
$this->db->join('role','role.id = user.role_id')
$this->db->where('role.speaker', $speaker); //want to know if this is correct
$result = $this->db->get();
这可能吗?我可以在JOIN之后比较结果(使用WHERE)吗?这会产生与WHERE子句匹配的结果吗?
谢谢!
答案 0 :(得分:4)
在调用->get()
之前,CodeIgniter实际上不会构建查询。您可以按照您想要的顺序调用方法。
答案 1 :(得分:0)
$this->db->select(array('tbl_board_type_details.id','tbl_board_type_details.price','tbl_bord_type.bord_type_name'));
$this->db->from(array('tbl_board_type_details'));
$this->db->join('tbl_bord_type','tbl_bord_type.id=tbl_board_type_details.board_type_id');
$this->db->where('tbl_board_type_details.hotel_id', $id);
$query = $this->db->get();
$boardtype_result = $query->result();
$data['boardtype_result'] = $boardtype_result;
您可以尝试使用此代码。它工作得很好..