Odkazy: dibi | API reference

Forum: [česky] [english]

dibi fórum

tiny ‘n’ smart
database layer

Nejste přihlášen(a)

#1 před 4 lety

phx
Moderator
Registrovaný: 17. 4. 2008
Příspěvky: 878

DibiView

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?

 

#2 před 4 lety

llook
Člen
Registrovaný: 17. 2. 2005
Příspěvky: 49

Re: DibiView

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()“.

Online

 

#3 před 4 lety

phx
Moderator
Registrovaný: 17. 4. 2008
Příspěvky: 878

Re: DibiView

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)

 

#4 před 4 lety

David Grudl
Administrator
Registrovaný: 8. 2. 2005
Příspěvky: 5548

Re: DibiView

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?

 

#5 před 4 lety

phx
Moderator
Registrovaný: 17. 4. 2008
Příspěvky: 878

Re: DibiView

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.

 

Zápatí