Nette\Database\Table filtrovanie podla existencie viacerých hodnôt v previazaných tabuľkách
- romiix.org
- Člen | 343

Zdravím,
mám zoznam položiek (item
) na sklade.
Položky sú previazané cez branch_id
s tabuľkou pobočiek
(branch
).
Každá pobočka má nastavené otváracie hodiny pre dni v týždni
v tabuľke opening_hour
ktorá smeruje cez branch_id
na pobočku ku ktorej sa vzťahuje.
Otváracie hodiny sa dajú nastaviť pre deň v týždni stĺpcom
day
(1–7) alebo zvlášť pre konkrétny dátum stĺpcom
date
.
Ako cez Nette\Database\Table\Selection získať zoznam položiek, ktoré sú na hociktorej pobočke, ktorá má otvorené deň a hodinu keď po položku chce zákazník prísť aj ju vrátiť?
Príklad
Zákazník si chce zobraziť zoznam náradia, ktoré vie prevziať 1.2.2016 o 9:00 a vrátiť 2.2.2016 20:00.
Ako napísať foreach
?
Vďaka!
- CZechBoY
- Člen | 3608
Takhle zjistis kde je treba otevreno v ten cas vypujcky.
Uplne jsem nepochopil co potrebujes jeste za podminky takze zatim takhle.
Samozrejme na to jeste stejnym zpusobem navazes dalsi where, kde budes pozadovat
oteviraci dobu k vraceni zbozi (nebyl jsem si jist jestli to musi byt stejna
pobocka atd.).
$date = '2016-02-01';
$time = '09:00';
$db->table('opening_hour')
->where('(day = ? OR date = ?) AND from >= ? AND to <= ?', getDay($date), $date, $time, $time);
- romiix.org
- Člen | 343
Podstatou problému je, že to musí byť tá istá pobočka.
Výpis má obsahovať položky na pobočkách, ktoré majú otvorené ajv dobe vypožičania aj v dobe vrátenia.
To čo si napísal neodfiltruje položky na pobočkách, ktoré majú zatvorené v dobe vypožičania alebo v dobe vrátenia.