您可以使用GROUP_CONCAT
和SUBSTRING_INDEX
挑選一張照片,如果你希望所有的照片,你可以只使用GROUP_CONCAT(photos.name) AS photo
,你可以得到所有用英文逗號分隔列表中的照片的名字,我已經使用->group_by('vehicle.idvehicle');
所以對於一個車組全部的照片將用逗號合併,但在你的問題,你說你需要的照片,所以我使用的SUBSTRING_INDEX
你也可以通過在GROUP_CONCAT
使用ORDER獲得最新的照片,如果照片的身份證是自動遞增像SUBSTRING_INDEX(GROUP_CONCAT(photos.name ORDER BY photo.id DESC),',',1) AS photo
$this->db
->select("vehicle.idvehicle, vehicle.mark,
vehicle.model, vehicle.type, vehicle.author_id, users.nick,
SUBSTRING_INDEX(GROUP_CONCAT(photos.name),',',1) AS photo,",FALSE)
->from('xxxxxsld_auto.vehicle')
->join('users', 'vehicle.author_id = users.userid')
->join('photos', 'vehicle.idvehicle = photos.vehicle_id')
->group_by('vehicle.idvehicle');
->get()
->result_array();
或只是使用羣組
$this->db
->select("vehicle.idvehicle, vehicle.mark,
vehicle.model, vehicle.type, vehicle.author_id, users.nick,
photos.name,",FALSE)
->from('xxxxxsld_auto.vehicle')
->join('users', 'vehicle.author_id = users.userid')
->join('photos', 'vehicle.idvehicle = photos.vehicle_id')
->group_by('vehicle.idvehicle');
->get()
->result_array();
編輯從你說你需要的所有照片,以便了解這一事實的GROUP_CONCAT
評論1024個字符的默認限制來連接,但這可以按照manual
真棒增加!我想選擇每輛車的所有照片,但我不知道如何去做。謝謝 :) – ajtamwojtek