gpt4 book ai didi

php - 不同的 mysql 结果 - codeigniter

转载 作者:行者123 更新时间:2023-11-29 04:56:39 25 4
gpt4 key购买 nike

我正在使用两个表来保存有关汽车的信息。在第一个表中有关于汽车制造商等的信息,第二个包含每辆车的图像。我的表格如下所示:

car_information    car_images
--------------- ---------
id | 2 car_id 2 | img1
car_make | Fiat car_id 2 | img2
color | Blue car_id 2 | img3
etc ....

如您所见,每辆车都有三张图片。

这是我用来获取结果的查询;

 $this->db->select('
c.id,
c.car_make,
c.car_color,
ci.image
');

$this->db->from('car_information c');
$this->db->join('car_images ci', 'ci.car_id = c.id', 'left');
return $this->db->get();

一切正常,但我面临的问题是结果重复。

例如:

2 Fiat Blue img1
2 Fiat Blue img2
2 Fiat Blue img3

3 BMW white img4
3 BMW white img5

怎么做才能让结果看起来像这样

2 Fiat Blue img1 | img 2 | img 3

我想在单行中获取所有信息。我知道我可以为您提供两个查询,但我想知道如何处理单个查询?

最佳答案

添加以下行:$this->db->group_by('c.id');

像这样:

 $this->db->select('
c.id,
c.car_make,
c.car_color,
ci.image
');

$this->db->from('car_information c');
$this->db->join('car_images ci', 'ci.car_id = c.id', 'left');
$this->db->group_by('c.id');
return $this->db->get();

这将在 MySQL 中起作用,因为 group by 在 MySQL 中可以用作 distinct 的同义词。

关于php - 不同的 mysql 结果 - codeigniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5927437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com