Oznámení
SQL funkce v DS selectu
před 10 lety
- redhead
- Člen | 1315
Zdravím,
snažím se udělat jednoduchou tabulku s řazením (takový hloupý DataGrid),
a řazení a výběr sloupců má na starost komponenta, té jenom přidám
DataSource, názvy sloupců a select. Ovšem za boha nemůžu přijít na to jak
do selectu napasovat SQL funkce, zkoušel jsem už různé kombinace s poli,
aliasi (as), a %sql modifikatory, ale nic nefunguje. Vždycky se to špatně
obalí znakem `.
Jak na to??
//z modelu vracím DataSource:
return dibi::dataSource($this->table)
->orderBy('id'); //defaultní řazení
a pak se snažím říct co má tabulka zobrazovat, nadefinuju názvy (shodné s sloupci/aliasi z výsledku) a labely, a řeknu co se má vyselectovat:
// a jak sem mám napasovat SQL funkci na nějaký sloupec a alisnout ho přes AS
// např: CONCAT(c1, c2) AS con
$dataSource->select('???')
Díky moc
Editoval redhead (7. 1. 2010 17:37)
před 10 lety
- phx
- Člen | 652
Myslim, ze by melo jit neco takovehoto:
$dataSource->select('%sql', 'NOW()');
Btw mas posledni verzi dibi?
před 10 lety
- redhead
- Člen | 1315
tak to první jsem hned zkoušel a co jsem pozoroval kód DataSourcu, tak je tam pole do kterýho se ukládá jako klíč 1. paramter (%sql) a jako hodnota 2. (NOW()) a vygeneruje (i v nově stažené verzi)
SELECT %sql
AS NOW() AS fullName
podívám se ještě na tu DibiVariable.. Ale chtělo by se na to podívat, protože by to bylo určitě pohodlnější..
Editoval redhead (7. 1. 2010 18:54)
před 10 lety
- redhead
- Člen | 1315
hmm, tak ani to druhé nejde, přijímá totiž jen string/array
to je teda pech!
před 10 lety
- phx
- Člen | 652
Tak uz nevim…
Ja osobne jsem prestal DataSource pouzivat kuli problemum s MySQL (https://forum.dibiphp.com/…urce-a-mysql) a udelal jsem si obdobne rozhrani pro DibiFluent. Mam tam dotaz vic pod kontrolou.
Nadruhou stranu nebylo by rozumnejsi dat tyto funkce primo do SQL dotazu pro DataSource?
před 10 lety
- redhead
- Člen | 1315
phx napsal(a):
Nadruhou stranu nebylo by rozumnejsi dat tyto funkce primo do SQL dotazu pro DataSource?
To asi ano, ale snažil jsem se jít cestou, že model mi vrátí pouze odkaz na tabulku a defaultí řazení, a ostatní (sloupce, offset, limit a řazení uživatelem) bude mít na starost
- nastavení tabulky (v presenteru)
- sama tabulka