2017-07-05 7 views
0

Ich habe zwei Tabellen. Das erste ist product, in dem Admin die Produkte hinzufügen wird, und ein anderes ist product_detail, in dem Anbieter das Detail hinzufügen werden. Mehrere Lieferanten können das gleiche Produkt mit dem Produktdetail wie Verkaufspreis, Angebotspreis etc. hinzufügen.CI Aktiver Datensatz, Datensatz aus mehreren Tabellen auswählen

"Ich möchte Produkte von products Tabelle auswählen und Produktdetail von product_detail Tabelle auswählen, aber nur eine Zeile von Produktdetail, die weniger hat Verkaufspreis".

Also ich möchte CI aktive Datensätze verwenden, um die endgültige Ausgabe als Produktliste mit seinen Details zu erhalten.

+0

möchten Sie nur das Produkt mit dem niedrigsten Preis? – Shihas

+0

Preis = min (Preis) gebraucht in wo Zustand –

+0

alles verständlich eher dies * aber nur eine Zeile Produktdetail, die weniger Verkaufspreis hat ". * Bitte auch das erwartete Ergebnis/Beispiel zum besseren Verständnis hinzufügen –

Antwort

0

Nehmen Sie dies zum Beispiel:

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) 

dies ist Ihre grundlegende Abfrage:

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 

In CI, versuchen, so etwas zu tun:

$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(); 

Beispielausgabe:

id   name price 
----------- ------ ----------- 
1   Item1 10 
2   Item2 50 
0

Zuerst sollten Sie Getter und Setter in Ihrem Modell machen und CI active record + pdo verwenden. Es ist aus meiner Sicht sicherer.

Mit freundlichen Grüßen.

Verwandte Themen