如何在codeigniter中编写此查询
SELECT U.username,U.user_id
FROM storylikes S, user U
WHERE U.user_id=S.user_id_fk AND S.user_id_fk='$id'
答案 0 :(得分:1)
试试这个:
$this->db->select('u.username, u.user_id');
db->where('u. user_id = s.user_id_fk');
$this->db->where('s.user_id_fk = '.$id);
$query = $this->db->get('storylikes s, user u');
使用$your_variable = $query->result();
作为结果
答案 1 :(得分:0)
您应该使用加入而不是此查询
$this->db->select('username,user_id');
$this->db->from('user');
$this->db->join('storylike','storylike.user_id_fk = user.user_id');
$this->db->where('storylike.user_id','$id');
答案 2 :(得分:0)
只要加载db帮助程序......你不需要做任何特殊的事情
$query = $this->db->query('SELECT U.username,U.user_id FROM storylikes S, user U WHERE U.user_id=S.user_id_fk AND S.user_id_fk=$id);
如果没有'正确'使用FROM,使用2个表格使用笛卡尔(交叉连接)会导致一些不规则的结果
我建议如果您只是想将表连接在一起,那么SQL应该是
SELECT U.username,U.user_id
FROM storylikes S, user U
INNER JOIN user U ON S.user_id = U.user_id_fk
WHERE S.user_id_fk=$id
CI查询构建器将是:
$query = $this->db->select('U.username,U.user_id')
->join('user U', 'S.user_id = U.user_id_fk', 'inner')
->where('S.user_id', $id)
->get('user U');
使用正确的连接来获得正确的要求是关键;
还有其他可用的连接,但这些是基础知识。