product
,其中管理员将添加产品,另一个是product_detail
,其中供应商将添加详细信息。多个供应商可以根据销售价格,报价等产品细节添加相同的产品。
“我想从products
表格中选择产品,并希望从product_detail
表格中选择产品详细信息,但只选择一行具有较低销售价格的产品详细信息”。
所以我想使用CI活动记录将最终输出作为产品列表及其详细信息。
答案 0 :(得分:0)
以此为例:
Create table #Product(id int, name varchar(100));
Create table #Product_detail(id int, product_id int, detail varchar(100));
insert into #Product values
(1,'Item1'),
(2,'Item2')
insert into #Product_detail values
(1,1,20),
(2,1,10),
(3,1,40),
(4,2,70),
(5,2,50)
这是您的基本查询:
select
a.*, b.price
from
#product a inner join
(select product_id, min(price) price
from #product_detail
group by product_id
) b
on a.id = b.product_id
在CI中,尝试执行以下操作:
$var = $this->db->query("select a.*, b.price from #product a
inner join
(select product_id, min(price) price
from #product_detail
group by product_id
) b
on a.id = b.product_id")->result_array();
示例输出:
id name price
----------- ------ -----------
1 Item1 10
2 Item2 50
答案 1 :(得分:0)
首先,您应该在模型中制作getter和setter,并使用CI活动记录+ pdo它从我的角度来看更安全。
祝你好运。