php - 如何在使用 JOIN LEFT 时分隔具有相同名称的两列?

标签 php mysql codeigniter-2

MySQL 表如下所示:

markers
id, tid,        lat,    lng
1   1           42.000  2.500
2   1           41.000  2.400
3   2           40.000  2.300

markers_types
id, name,   image
1   TYPE1   type1.png
2   TYPE2   type2.png

使用 CodeIgniter 的 Active Records 时:

function get_coordinates(){

    $this->db->select('*');
    $this->db->from('markers');
    $this->db->join('markers_types', 'markers.tid = markers_types.id');
    $this->db->where('state', 1);
    $query = $this->db->get();

    if( $query->result() < 1 ) return FALSE;

    $results = $query->result();
    return $results;

}

它将两个不同表中名为 id 的两列连接(或合并)为一列。如何预防呢?是否可以在不重命名这些列的情况下防止合并它们?

最佳答案

只需修改您的 $this->db->select('*'); 语句即可列出您想要在您的表中捕获的各个 table.field 名称回应。

$this->db->select('markers.type_id, markers.lat, markers.lng, markers_types.id, markers_types.name, markers_types.image');

关于php - 如何在使用 JOIN LEFT 时分隔具有相同名称的两列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18259386/

相关文章:

Mysql:如何使表在子查询中可见?

mysql - 在带有分页的单个模型查询 codeigniter 中获取具有多个条件的多个联接结果

php - CodeIgniter PDO 驱动程序使用查询而不是准备?这不是更不安全吗?

php - fputcsv() 不转义双引号吗?

php - Laravel Eloquent 更新具有相同值但不同 ID 的多行

java - 选择后插入(Java sql)

php - WordPress 插件从 mysql 打印图像

php - CodeIgniter 将 POST 数据从 RestClient 传递到 RestServer API

php - MYSQL:求和问题

php - 功能有效,但无法 +1