2

結合元のcodeigniter-mysql値を選択する必要があり、カンマ区切りのフィールド値に where ステートメントを適用する必要があります。次のようにしてみました、table_2table_1

$where  =  $this->db->escape("FIND_IN_SET(table_1.id,table_2.places_id)<>0");

    $this->db->select('table_2.*,GROUP_CONCAT(table_1.location)AS location');
    $this->db->from('table_2');
    $this->db->join('table_1', $where);
    $this->db->where('ltable_2.packages_id', $id);
    $results = $this->db->get();
    return $results->result();

しかし、上記の codeigniter db オブジェクトは、次の mysql クエリを返し、機能していません :(

SELECT `table_2`.*, GROUP_CONCAT(table_1.location)AS location FROM `table_2` JOIN `table_1` ON 'FIND_IN_SET(table_1.id,table_2.places_id)<>0' WHERE `ltable_2`.`packages_id` = <id-goes-here>

周りの引用符'FIND_IN_SET(table_1.id,table_2.places_id)<>0'が問題を引き起こしているようです! 問題を解決するために、すべてのヘルプを歓迎します。

4

1 に答える 1

1

You could try $this->db->join('table_1', $where, false);. That would get rid of the quotes, and if otherwise your query is good, it should be fine.

于 2015-09-11T08:55:49.367 に答える