W pewnej relacji wybieramy jakieś rekordy z tabeli związanej ale chcemy do tego ograniczyć pewne żeczy np: jeżeli pole "ABC" != NULL czyli warunek where.
Przykład:
Tabela "Users" ||--->00 'images'
Wybieramy 1 użytkownika i wszystkie jego obrazki ale nie wybieramy tych które mają wartość "active" == NULL
Mam o to taki kod:
<?php //Rodzic class A extends Zend_Db_Table_Abstract { protected $_name = 'a'; protected $_primary_key = 'aID'; function get($id) { $Result = $this->find($id); $RowCurrent = $Result->current(); $Dep = $RowCurrent->findDependentRowset('B'); //... } } //Dziecko class B extends Zend_Db_Table_Abstract { protected $_name = 'b'; protected $_primary_key = 'bID'; 'refTableClass' => 'A' ) ); } ?>
Wszystko fajnie wybiera ale właśnie chce jeszcze ograniczyć po przez jakieś wartośći.
Z góry dziękuję.
Chyba znalazłem swoją odpowiedź ale nie wiem czy dobrze że tak się robi.
Mianowicie, żeby ograniczyć jeszcze w jakiś sposób trzeba skorzystać z metody 'select' z Zend_Db_Table_Select.
Czyli jeżeli mamy:
<?php //Rodzic class A extends Zend_Db_Table_Abstract { protected $_name = 'a'; protected $_primary_key = 'aID'; function get($id) { $Result = $this->find($id); //Dodajemy tutaj te 2 liniki $ModelB = new B(); $query = $ModelB->select()->where('pole1 = ?', 2); $RowCurrent = $Result->current(); $Dep = $RowCurrent->findDependentRowset('B', null, $query); //oraz objekt typu Zend_Db_Table_Select czyli $query //... } } //Dziecko class B extends Zend_Db_Table_Abstract { protected $_name = 'b'; protected $_primary_key = 'bID'; 'refTableClass' => 'A' ) ); } ?>
Nie wiem tylko do czego służy to null w metodzie findDependentRowset();
Nie wiem czy jest to dobrze ale na pewno działa. Jak macie lepsze rozwiązania to chętnie posłucham.