0

我有两张桌子:markersmarkers_types

markers
id, type_id,    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

如何正确检索数据库中的行,例如,如果第一行的markerstype_id设置为1,我想从其他表中的相应 ID 输出图像,markers_types其中markers.type_id等于markers_types.id?对不起,愚蠢的问题,但无法得到它。

这是我的map_model.php

class Map_model extends CI_Model{
    ...
    function get_coordinates(){
        $this->db->select('*');
        $this->db->from('markers');
        $query = $this->db->get();

        if($query->result() < 1)
            return false;
        else{
            $results = $query->result();
            return $results;
        }
    }
}

这是我的app/controllers/map.php

$dbresults = $this->map_model->get_coordinates();

foreach($dbresults as $item){
    $marker = array();
    $marker['position'] = $item->lat.','.$item->lng;
    $marker['icon'] = base_url().'assets/img/ico/'.$item->image; // <-- I need to output here correct type image
    $marker['infowindow_content'] = $item->description;
    $this->googlemaps->add_marker($marker);
}

如何混合它们,以便根据标记的类型输出适当的图像?

我是 MySQL 的新手,所以请提前为这种基本问题感到抱歉,我试过但没有成功找到正确的答案。

4

1 回答 1

1
$query = $this->db->query("SELECT * FROM markers LEFT JOIN marker_types ON markers.type_id = markers_types.id");

// RETURNS AN ARRAY
$query->result_array();
于 2013-08-10T23:38:33.817 回答