| Autor | Zpráva | ||
|---|---|---|---|
| exon Profil * |
#1 · Zasláno: 14. 10. 2016, 17:49:12
Ahoj,
snažím se v nette poskládat dotaz na výběr z databáze. Problém je v tom, že nevím které parametry bude potřeba použít do podmínky WHERE. Mám metodu getProduct, která má tři nepovinné parametry (color, size, pattern). public function getProduct($color = null, $size = null, $pattern = null){
$products = $this->database->table('products')->where('id_product_type = 1 AND id_color = ? AND id_pattern = ? AND id_size = ?', $color, $pattern, $size)->fetchAll();
//tady potrebuji podmínku WHERE upravit tak, aby pracovala i když bude zadaný jeden parametr (a ostatní null) nebo budou zadány dva (a zbylý null) atd...
}Předem moc děkuji. |
||
| CZechBoY Profil |
#2 · Zasláno: 14. 10. 2016, 17:54:41
Proč se ti nelíbí podmínka a co jinýho bys chtěl použít?
$productsSelection = $this->database->table('products')->where('id_product_type', 1);
if ($color) {
$productsSelection->where('id_color', $color); // bere pole i integer
}
return $products = $productsSelection->fetchAll(); |
||
| exon Profil * |
#3 · Zasláno: 14. 10. 2016, 20:26:18
A jo takhle ... super! Diky moc.
Takto by to slo, ja jsem zacal vymyslet kombinovane podminky typu if($color and $size and $pattern) ... elseif(!$color and $size and $pattern) atd... |
||
|
Časová prodleva: 9 let
|
|||
0