orm - Related models with conditions in Phalcon -


how setup filtering on related model data using $this->hasmany() or $this->hasone() in model?

for instance:

i have somedata table can referenced modala or modelb. in modela , modelb have:

$this->hasmany(array('id', 'somedata', 'foreign_key'); 

in modela want somedata somedata.foreign_key = id , somedata.model = "modela".

i can them with:

$this->getrelated(     'somedata',      array("model = :model:", 'bind' => array('model' => 'modela') ); 

but $modela->somedata gives me somedata modela , modelb.

i've tried adding conditions in $this->hasmany() without luck.

you can way:

    // question ids in test     $ids_already_in_test = $this->getdi()        ->get('modelsmanager')->createbuilder()        ->from('model_questiontotest')        ->columns(array('question_id'))        ->andwhere('model_questiontotest.test_id = :test_id:', array('test_id' =>                                      $search_options['not_in_test']))        ->getquery()        ->execute();     // filter out these ids     $ids = array();     foreach ($ids_already_in_test $id) {         $ids[] = (int) $id->question_id;     }     unset($ids_already_in_test);     if (count($ids))         $questions_query->notinwhere('model_userquestion.id', $ids);     } 

there 2 steps: 1) ids, don't or need 2) results ids set "notinwhere" or "inwhere" in main query


Comments

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

c++ - End of file on pipe magic during open -