Yii Framework Forum: Problema Ricerca Su Relazione 1-N-1 - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Problema Ricerca Su Relazione 1-N-1 Rate Topic: -----

#1 User is offline   realtebo 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 699
  • Joined: 03-October 12
  • Location:Ferrara

Posted 29 November 2012 - 05:49 AM

Oggetti e relazioni

Company [1 -> N] CompanyCategory [N -> 1] Category

Nel 'search' di company devo poter cercare da una combo delle categorie.

Ho una relazione has_many in company
"companyCategoryObj" =>  array(self::HAS_MANY, "CompanyCategory", "companyId"),


nel metodo search
$criteria->with  = array ( ... , 'companyCategoryObj');
....
$criteria->compare('companyCategoryObj.categoryId', $this->companyCategoryId);


Ma ho notato che nel SQL generato, questa tabella NON viene messa mai in join. Anzi, se provo a cercarlo mi da, giustamente, un errore SQL perchè effettuo un WHERE su una tabella che non compare nella catena dei FROM... JOIN ...

Quote

Unknown column 'companyCategoryObj.categoryId' in 'where clause'


Da cosa dipende ?

Aiuto...

Tenete conto che il fantomatico 'together' devo metterlo su 'false' perchè su 'true' non va più correttamente il paginatore... non so se c'entra.


HO MESSO UNA PEZZA TEMPORANEA MA MI FA VERAMENTE SCHIFO
if ($this->categoryId) {
	$cat = CompanyCategory::model()->findAllByAttributes(array("categoryId" => $this->categoryId));
	if (count($cat)) {
   	    foreach ($cat as $cCat) {
     		         $companyId[] = $cCat->companyId;   
            } 
     	    $criteria->addInCondition('companyId', $companyId);
        }
}


Davvero non c'è modo di farlo fare ad Yii ?!?!
Il computer non ragiona, ma ha sempre ragione.
Ricordalo quando fai il debug
0

#2 User is offline   sensorario 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 1,986
  • Joined: 07-September 10
  • Location:Cesena (Italy)

Posted 29 November 2012 - 12:28 PM

Tu hai creato una relazione 1 a molti, ma in verità devi usare una relazione molti a molti. Se cerchi bene nella documentazione di yii, trovi questo snippet:

            'categories'=>array(self::MANY_MANY, 'Category',
                'tbl_post_category(post_id, category_id)'),

0

#3 User is offline   realtebo 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 699
  • Joined: 03-October 12
  • Location:Ferrara

Posted 29 November 2012 - 12:55 PM

View Postsensorario, on 29 November 2012 - 12:28 PM, said:

Tu hai creato una relazione 1 a molti, ma in verità devi usare una relazione molti a molti. Se cerchi bene nella documentazione di yii, trovi questo snippet:

            'categories'=>array(self::MANY_MANY, 'Category',
                'tbl_post_category(post_id, category_id)'),




Non pensavo fosse stringente questa cosa del many to many, comunque domani in ufficio provo, perché odio fare le cose a mano usando un framework.
Il computer non ragiona, ma ha sempre ragione.
Ricordalo quando fai il debug
0

#4 User is offline   sensorario 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 1,986
  • Joined: 07-September 10
  • Location:Cesena (Italy)

Posted 29 November 2012 - 01:04 PM

Cosa intendi con "stringente"?
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users