gpt4 book ai didi

sql - 使用 JOIN sql 从 2 个不同的表中获取数据。代码点火器

转载 作者:行者123 更新时间:2023-12-04 21:41:23 27 4
gpt4 key购买 nike

我使用 codeigniter,我需要从 2 个不同的表中获取数据。现在它只从works_image 表返回数据。如何从两个表中获取数据?

多谢!!

$this->db->select('works_image.*', 'works.*');
$this->db->from('works_image', 'works');
$this->db->join('works', 'works.id =works_image.id_work');
$result = $this->db->get();

foreach ($result->result() as $row) {
回声“#”。 $row->id 。 “——”。 $row->thumb 。 “——”。 $row->wname 。 "";
}

最佳答案

只要你在做 SELECT * ( Why is this a bad idea? ),您不需要通过调用 select() 来指定表.默认情况下,它将选择所有字段。

$this->db->from('works_image', 'works');
$this->db->join('works', 'works.id = works_image.id_work');
$result = $this->db->get();

应该工作正常。

相反,您真正应该做的是准确指定您需要哪些字段:
$this->db->select('works_image.id, works_image.name, works_image.id_work, works.id, works.name'); // (or whichever fields you're interested in)
$this->db->from('works_image', 'works');
$this->db->join('works', 'works.id = works_image.id_work');
$result = $this->db->get();

通过这种方式,您可以确保 (a) 不会从数据库中提取不必要的数据,并且 (b) 如果/当您修改数据库架构时,您的代码不会中断。

关于sql - 使用 JOIN sql 从 2 个不同的表中获取数据。代码点火器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1179393/

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