I am writing an application for which the Master / Slave switch is required inside the application layer as I am now Instruct a Zend_Db_Table object on the mapper's creation, and then set the slave default adapter.
Now inside the base mapper clas, I have the following method:
Public function utilityWit adapter () {if (Zend_Db_Table_Abstract :: getDefaultAdapter ()! = $ This- & Gt; _writeDb) {Zend_Db_Table_Abstract :: setDefaultAdapter ($ this-> _writeDb); $ This- & gt; _table gateway = new Zend_Db_Table ($ this-> _tableName); }}
I need a prudent inquiry on this. I do not think the upper part is too much, I suspect that there should be a better way.
A type of object Zend_Db_Table_Row_Abstract
misses which table object's output was done. But you can change the related table before calling save ()
.
$ readDb = Zend_Db :: factory (...); // slave $ writeDb = Zend_Db :: Factory (...); // Master Zend_Db_Table :: setDefaultAdapter ($ readDb); $ MyReadTable = New MyTable (); // Use default adapter $ myWriteTable = new MyTable ($ writeDb); $ Line = $ myTable-> Search (1234) - & gt; Present (); $ Line-> Column1 = 'value'; $ Row-> Settable ($ myWriteTable); $ Row-> Save ();
No comments:
Post a Comment