Oznámení
Změna syntaxe fetchAssoc()
před 9 lety
- Petr Daňa
- Člen | 106
Tak jsem náhodou zjistil, že se zcela zásadně změnila syntaxe pro fetchAssoc, a to už 6.10.2009 (proč tato důležitá změna nebyla zmíněna zde na fóru?).
A proč to bylo změněno? Co jsem tak koukal do zdrojáku, tak teď už nefunguje ‚customer_id,=,order_id‘ (viz. „dokumentace“ https://phpfashion.com/…li-dibi-0-9b ). Lze to nějak udělat (já na to nepřišel) nebo to už skutečně nejde a musím to udělat sám?
před 9 lety
- phx
- Člen | 652
Koukam do zdrojaku a melo by jit oboje:
final public function fetchAssoc($assoc)
{
if (strpos($assoc, ',') !== FALSE) {
return $this->oldFetchAssoc($assoc);
}
//...
před 9 lety
- Petr Daňa
- Člen | 106
No to sice ano, ale ta metoda oldFetchAssoc je označena jako deprecated, takže to beru už jakoby to nefungovalo.
před 9 lety
- David Grudl
- Nette Core | 6806
Syntaxe se nezměnila a stále funguje. Zároveň s ní testuju novou syntaxi, se kterou ale nejsem spokojen a proto jsem o ní zatím nic nepsal.
před 9 lety
- phx
- Člen | 652
Me se libi a prijde mi vic intuitivnejsi.
před 9 lety
- Petr Daňa
- Člen | 106
David Grudl napsal(a):
Syntaxe se nezměnila a stále funguje. Zároveň s ní testuju novou syntaxi, se kterou ale nejsem spokojen a proto jsem o ní zatím nic nepsal.
OK, beru, že je to vývojová verze, ovšem pokud najednou vidím ve zdrojáku, že předchozí implementace je přejmenována s prefixem old, která je volána z původní, a navíc je tato old metoda označena jako deprecated, tak logicky předpokládám, že se zahazuje.
Bylo by teda asi vhodnější dát do komentáře metody něco jako experimental a u té old nepsat deprecated, ale taky experimental nebo tak něco.
před 9 lety
- zbytovsky
- Člen | 18
Tu syntax jsem sice chvíli zkoumal, ale když jsem to napsal a zkusil, tak jsem užasl, že to vypadá stejně jako můj „vlastní“ zápis. Fakt moc dobré!
$res = dibi::query('SELECT id_photo,tag FROM [:p:gallery_tags]');
$tags = array();
foreach($res as $r)
$tags[$r['id_photo']][] = $r['tag'];
$tags = $res->fetchAssoc('id_photo[]=tag');