【发布时间】:2015-08-04 15:33:17
【问题描述】:
我正在尝试实现几年前在 Ruby on Rails 中所做的一些事情。
现在我正在使用 CodeIgniter 3.0.0。
下面是我想要实现的目标的概述:
表格:
表:用户表:文章 _________________ _______________________________________ |编号 |姓名 | |编号 |描述 |买家 |申请人 | | 1 |约翰 D. | | 1 |电脑鼠标 | 1 | 2 | | 2 |安妮塔 F。我想实现这个:(或类似的东西)
大批 ( [0] => 标准类对象 ( [id] => 1 [描述] => 'PC 鼠标' [买家] => 标准类对象 ( [id] => 1 [名称] => '约翰 D.' ) [申请人] => stdClass 对象 ( [id] => 2 [名称] => '安妮塔 F.' ) ) )所以我可以打电话:
回声$文章->描述; //=> 电脑鼠标 echo $article->买家->姓名; //=> 约翰 D. echo $article->申请人->姓名; //=> 安妮塔 F.我试过了(没有运气):
$this->db->from('articles'); $this->db->join('users', 'articles.buyer = users.id'); $this->db->join('users'.'articles.applicant = users.id'); $objects = $this->db->get()->result_object(); //=> 抛出: 错误 1066: 不是唯一的表/别名:“用户” $this->db->from('articles'); $this->db->join('users', 'articles.buyer = users.id'); $objects = $this->db->get()->result_object(); //=> 返回一个额外的列 'name',其值为 'John D.' 大批 ( [0] => 标准类对象 ( [id] => 1 [描述] => 'PC 鼠标' [买家] => 1 [申请人] => 2 [名称] => '约翰 D.' ) )我阅读了很多关于 group_by 的信息,但我无法让它发挥作用。
你能帮我解决这个问题吗?
这甚至可能是一个解决方案还是有可能?!
侧面信息
这是我需要的一个精简示例。 我还有很多连接要做。
这是我最终应该拥有的:
购买有很多文章(articles.purchasesID) 文章有一个状态(statusID) 文章有一个品牌(brandID) 购买有一个买家 (usersID) 购买有一个申请人(usersID) 购买有一个状态(statusID) 购买有一个 Delivered_to (usersID) 采购有一个供应商 (suppliersID) 购买有一个顾虑(concernsID // 当我想回显一篇文章的状态时: // 状态有一个 'id' 和 'name' 所以: echo $purchase->article[0]->status->name //=> '处理中' // 或者当我想知道产品交付给谁时: echo $purchase->delivered_to->name //=> 'Carsten'希望你能帮助我!
【问题讨论】:
标签: php codeigniter activerecord query-builder codeigniter-3