Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在codeiginter中连接两个表?_Php_Codeigniter_Join - Fatal编程技术网

Php 在codeiginter中连接两个表?

Php 在codeiginter中连接两个表?,php,codeigniter,join,Php,Codeigniter,Join,我想从两个表中提取数据,然后对结果集应用orderbydesc。我想知道codeiginter中查询的语法。我想将我的story_id从story_ratings表匹配到stories id表,然后根据top ratings排序我的查询如下: $this->db->select('story_ratings.*,stories.*'); $this->db->from(' story_ratings'); $this->db->join('stories',

我想从两个表中提取数据,然后对结果集应用orderbydesc。我想知道codeiginter中查询的语法。我想将我的story_id从story_ratings表匹配到stories id表,然后根据top ratings排序我的查询如下:

$this->db->select('story_ratings.*,stories.*');
$this->db->from(' story_ratings');
$this->db->join('stories', 'story_ratings.story_id = stories.id', 'left'); 
$this->db->order_by('story_ratings.avg_rate','desc');
$query = $this->db->get();

试试这个代码,我想这会管用的

$this->db->select('a.*,b.*');
$this->db->join('stories b', 'a.story_id = b.id', 'left'); 
$this->db->order_by('a.avg_rate','desc');
$query = $this->db->get('story_ratings a');

试试这个代码,我想这会管用的

$this->db->select('a.*,b.*');
$this->db->join('stories b', 'a.story_id = b.id', 'left'); 
$this->db->order_by('a.avg_rate','desc');
$query = $this->db->get('story_ratings a');

使用“从1开始”函数的最聪明方法是,您可以将其放入帮助器中,并根据需要从控制器传递参数

function GetAllRecord($table_name='',$condition=array(),$join_table='',$table_id='',$join_id='',$is_single=false){
    $ci = & get_instance();
    #$ci->db->select('first_name,last_name');
    if($condition && count($condition))
        $ci->db->where($condition);
    $ci->db->from($table_name);
    if($join_table)
        $ci->db->join($join_table,"$table_name.$table_id = $join_table.$join_id");
    $res = $ci->db->get();
    if($is_single)
        return $res->row_array();
    else
        return $res->result_array();
}

使用“从1开始”函数的最聪明方法是,您可以将其放入帮助器中,并根据需要从控制器传递参数

function GetAllRecord($table_name='',$condition=array(),$join_table='',$table_id='',$join_id='',$is_single=false){
    $ci = & get_instance();
    #$ci->db->select('first_name,last_name');
    if($condition && count($condition))
        $ci->db->where($condition);
    $ci->db->from($table_name);
    if($join_table)
        $ci->db->join($join_table,"$table_name.$table_id = $join_table.$join_id");
    $res = $ci->db->get();
    if($is_single)
        return $res->row_array();
    else
        return $res->result_array();
}
试试这个

  $query=$this->db->select('t1.*, t2.*')
 ->from('story_ratings as t1')   
 ->join('stories as t2', 't1.story_id = t2.id','left')
 ->order_by('t1.avg_rate','desc');   
 ->get();
试试这个

  $query=$this->db->select('t1.*, t2.*')
 ->from('story_ratings as t1')   
 ->join('stories as t2', 't1.story_id = t2.id','left')
 ->order_by('t1.avg_rate','desc');   
 ->get();

请参阅文档:您现在面临的问题是什么?我没有得到结果集,它说是数据库error@WWW请将错误消息添加到您的问题
echo$this->db->last\u query()
,以获取上次执行的查询。现在您可以看到querySee文档中的错误:您现在面临的问题是什么?我没有得到结果集,它说是数据库error@WWW请将错误消息添加到您的问题
echo$this->db->last\u query()
,以获取上次执行的查询。现在您可以在查询中看到错误