1

私は sql コマンドを持っています。それは機能しますが、Codeigniter では使用できません。

phpmyadminで使用すると動作します

online_visitors.page_id 、 hotels.hotel_name 、 count(online_visitors.page_id) を count_visit FROM として選択online_visitorshotelsます。 page_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();
4

3 に答える 3

2

Join で CodeIgniter アクティブ レコードを使用して、これを試すことができます。

    $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();
于 2012-11-16T12:24:35.563 に答える
1

前述の2つの方法でこれを行うことができます

$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オブジェクトとしてアクセスできます

または、 Active Recordを使用して分解することもできます

于 2012-11-16T12:19:40.177 に答える
0
$this->db->select("online_visitors.page_id , 
hotels.hotel_name,count(online_visitors.page_id) as count_visit");

$this->db>where("online_visitors.page_type = 'hotel'");
$this->db>where("online_visitors.is_bot = 0");
$this->db>where("hotels.ID = online_visitors.page_id");
$this->db->group_by("online_visitors.page_id");
$this->db->order_by("online_visitors.page_id", "asc");
于 2012-11-16T12:23:48.107 に答える