[2.0.12] Database pristup k stlpcu cez alias
- HappyFace
- Člen | 162
Ahoj,
je mozne nejako prinutit activeRow(predpokladam) aby mi vracal vysledky cez nejaky alias?
napr:
z DB dostanem nieco taketo sialene $user->dictionary_dictionary_original_id
a ja by som chcel k tomu pristupovat trosku „user friendly“ a iba pouzit
alias ‚dictionary‘.. $user->dictionary
ide to niekde jednoducho tieto aliasy setnut?
dakujem
- James_Scott
- Člen | 55
Podle dokumentace NotORM by to mělo jít.
$table->select($columns[, ...]) Set retrieved columns, can be expression ("col, MD5(col) AS hash")
takže třeba (nezkoušel jsem..)
$this->connection->table('posts')->select('id','long_name AS name');
- David Matějka
- Moderator | 6445
jestli chces pouze aliasovat sloupecek, bude fungovat to, co pise
James_Scott. ulehcit to ale asi nepude. pokud ti jde o to, dostat se kratce
k zaznamu, kam ten cizi klic ukazuje, zapis $user->dictionary
by mel fungovat a vratit prislusnej zaznam. DiscoveredReflection totiz staci,
aby ten retezec byl obsazen v nazvu nejakeho sloupecku s cizim klicem
Editoval matej21 (11. 11. 2013 1:58)
- besir
- Člen | 170
matej21 napsal(a):
jestli chces pouze aliasovat sloupecek, bude fungovat to, co pise James_Scott. ulehcit to ale asi nepude. pokud ti jde o to, dostat se kratce k zaznamu, kam ten cizi klic ukazuje, zapis
$user->dictionary
by mel fungovat a vratit prislusnej zaznam. DiscoveredReflection totiz staci, aby ten retezec byl obsazen v nazvu nejakeho sloupecku s cizim klicem
Takze pokid zavolam jen $user->di
tak by mi to teoreticky
take vratil..??
- HappyFace
- Člen | 162
dik za odpovede
nejde mi ani o to rychlo sa dostat k zaznamom skor by som chcel docielit
odrezanie presneho zavesenia na nazvov stlpeckov v DB
ide oto, ze keby som v tabulke vramci nejakeho refaktoringu menil najaky nazov
stlpceka, tak nasledne by som to musel spravit kade-tade po kode a dopatravat to
cize ja ako pristupujem k tabulkam cez modely, ten model by obsahoval nejaky
array aliasov array(‚db_nazov_stlpca‘ ⇒ ‚model_nazov_stlpca‘,…)
takze by som v kode nebol tak viazany na stlpce
myslite, ze by to islo spravit? rozmyslal som ze by tie modely dedili z \Nette\Database\Table\Selection a tam urobil extends pre tie aliasi cize to co navrhoval @James_Scott len problem nastava ak budem pristupovat k inej tabulke na cez FK-cko tam si totiz neviem moc predstavit ako by som prinutil aby si trieda donacitala dalsi model s aliasamy a pristupovala k datam cez ne
- HappyFace
- Člen | 162
vvoody napsal(a):
Discovered reflecion ktorý spomínal matej21 pomôže len pri stĺpcoch s FK. Použi nejaké ORM, jeho pointa je totiž oddeliť db schému od logiky aplikácie. Tieto aliasy, ako to nazývaš, sa tam nastavujú práve na jednom mieste, v entitách.
parada :) aspon viem co mam presne hladat .. nette to nezvlada? ked spominas, ze mam pouzit nejake ORM ja sa v tom este moc neorientujem ako to stou DB vrstvou v nette skutocne je