Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.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 从两个表(计数、订购依据、分组依据)中选择codeigniter_Php_Codeigniter - Fatal编程技术网

Php 从两个表(计数、订购依据、分组依据)中选择codeigniter

Php 从两个表(计数、订购依据、分组依据)中选择codeigniter,php,codeigniter,Php,Codeigniter,我有一个sql命令,它是有效的,但我不能在Codeigniter中使用它 当我在phpmyadmin中使用它时,它是有效的 选择online\u visitors.page\u id、hotels.hotel\u name、, 将(在线访问者.页面id)计数为在线访问者的访问计数, hotelsWHERE online_visitors.page_type='hotel'和 online_visitors.is_bot=0和hotels.ID=online_visitors.page_ID 按在

我有一个sql命令,它是有效的,但我不能在Codeigniter中使用它

当我在phpmyadmin中使用它时,它是有效的

选择online\u visitors.page\u id、hotels.hotel\u name、, 将(在线访问者.页面id)计数为在线访问者的访问计数,
hotels
WHERE online_visitors.page_type='hotel'和 online_visitors.is_bot=0和hotels.ID=online_visitors.page_ID 按在线访问者分组。页面id按在线访问者排序。页面id asc

但是当我想在codeigniter代码中使用它时,我不能

$this->db->select("page_id , hotel_name");
$this->db->from("hotels");
$this->db->join("online_visitors");
$this->db->where("is_bot", 0);
$this->db->where("page_type", 'hotel');
$this->db->group_by("page_id");
$this->db->order_by("page_id");
$this->db->get();

您可以通过前面提到的两种方法来实现这一点

$query=$this->db->query(
'SELECT online_visitors.page_id , hotels.hotel_name , count(online_visitors.page_id) as count_visit FROM online_visitors , hotels WHERE online_visitors.page_type = 'hotel' AND online_visitors.is_bot = 0 AND hotels.ID = online_visitors.page_id group by online_visitors.page_id order by online_visitors.page_id asc'
);
您可以作为对象访问
$query


或者您可以使用

将其分解。您可以通过使用CodeIgniter活动记录和join来尝试此操作

    $this->db->select('ov.page_id , h.hotel_name, count(ov.page_id) as count_visit ');
    $this->db->from('online_visitors as ov');
    $this->db->join('hotels as h','h.ID = ov.page_id');
    $this->db->where('ov.page_type','hotel');
    $this->db->where('ov.is_bot',0);
    $this->db->group_by('ov.page_id');
    $this->db->order_by('ov.page_id',"asc");
    $this->db->get();

你试过什么样的调试可以呈现给我们:)检查ypur查询,它没有连接。但是你试着在CI中使用它。该死的,我从来没有读过他的问题。。。是的,活动记录在连接中是垃圾,像这样手动执行它们!您可以启用profile$this->output->enable_profiler();要查看从MySQL代码生成的查询是什么,这是最正确的方法。。。仅使用别名而不是完整的表名。
    $this->db->select('ov.page_id , h.hotel_name, count(ov.page_id) as count_visit ');
    $this->db->from('online_visitors as ov');
    $this->db->join('hotels as h','h.ID = ov.page_id');
    $this->db->where('ov.page_type','hotel');
    $this->db->where('ov.is_bot',0);
    $this->db->group_by('ov.page_id');
    $this->db->order_by('ov.page_id',"asc");
    $this->db->get();