tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

Omlouváme se, provoz fóra byl ukončen

DibiView

před 11 lety

phx
Člen | 652

Zdravim…

DibiTable je uzasny. Ale nejak mi vyvstala potreba mit DibiView. Preci jen kdyz mam v DB pohled tak do nej nejde vkladat a spol. Proto bych navrhoval ponechat metody insert, update, delete v DibiTable ktery bude potomkem DibiView, kde bude vse co je ted v DibiTable bez insert, update, delete.

Snad je to pochopitelne. Principielne se nic nezmeni, jen pujde vytvorit obsluhu DB tabulky jen s pravy pro cteni;)

Co myslite?

před 11 lety

llook
Člen | 412

Já na to, že obsluhu práv k databázi rád přenechám obsluze práv v databázi. Při pokusu o zápis do pohledu dostanu od MySQL hlášku DibiException s hláškou „The target table test_view of the INSERT is not insertable-into“, což mi přijde popisnější než MemberAccessException s „Call to undefined method TestView::insert()“.

před 11 lety

phx
Člen | 652

DibiTable musis mit co tabulka to objekt. A prijde mi nesmysl aby u objektu, ktery obsluhuje pohled byly metody na upravy. To co rikas ty je pro pripad kdy mas 1 univerzalni obsluhu vseho (to nemusis pouzivat DibiTable)

před 11 lety

David Grudl
Nette Core | 6822

View nemusí být nutně jen pro čtení, záleží na konkrétní databázi (klíčové slovo: updatable views). Tudíž bych zpracování a případnou chybovou hlášku nechal na driveru.

Další věc je, jestli by bylo praktické mít read-only přepínač u DibiTable. Taková logická obdoba toho, jestli otevřeme soubor pro čtení nebo i zápis. Nevím – žádá si to praxe?

před 11 lety

phx
Člen | 652

Uznavam, ze nejake views jdou editovat, ale uz jsem se potkal s tim, ze jsem potreboval jen read-only. Jako upravovaci metody navic nevadi, ale dle meho nazoru by DibiView davalo vetsi moznosti a volnost ohledne vytvareni obsluh DB.

Prepinacem bych to neresil. To je stejny jako kdyz DB vrati error o neplatnosti operace.