【问题标题】:Codeigniter active record join function returns only one resultCodeigniter 活动记录连接函数只返回一个结果
【发布时间】:2012-02-19 20:49:53
【问题描述】:

我有一个代码,它必须从两个单独的表返回连接数据。

$this->db->select('product.name,category.name');
$this->db->from('product');
$this->db->join('category','product.cat=category.id');
$this->db->group_by('product.name, category.name');
$query=$this->db->get();

但代码只返回产品表中的一列数据。 我也试过sql查询

select * from `product` join `category` where product.cat=category.id

在 codeigniter 中它不起作用,但在 PhpMyAdmin 和 Sequel Pro sql 终端中它起作用。 你能帮我吗?

【问题讨论】:

  • 你试过 echo $this->db->last_query();查看它实际运行的内容并将其与您在 PHPMyAdmin 和 Sequel Pro 中手动测试的内容进行比较?
  • 是的,我试过了,它返回这样的sql SELECT product.name, category.name FROM (product) RIGHT JOIN category ON product .cat=category.id ORDER BY product.name, category.name 并且此查询适用于 PHPMyAdmin
  • 正确加入?我在您的查询中没有看到正确的信息!
  • 您没有在上面的示例代码中指定正确的连接,也没有在您声称直接尝试过的示例中指定。哪个会产生您正在寻找的结果,因为它们应该会产生不同的结果?

标签: mysql codeigniter activerecord


【解决方案1】:

您的 group by 没有任何意义。你的意思是使用order_by

$this->db->order_by('product.name, category.name');

【讨论】:

    猜你喜欢
    • 2012-01-03
    • 1970-01-01
    • 2015-03-14
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    • 2014-01-27
    • 2023-04-01
    相关资源
    最近更新 更多