Yii Framework Forum: Many_Many Issue (Column Ambiguous) - Yii Framework Forum

Jump to content

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

Many_Many Issue (Column Ambiguous) Rate Topic: -----

#1 User is offline   jwerd 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 27
  • Joined: 28-August 10

Posted 29 January 2013 - 10:33 AM

Hey guys,

I've looked everywhere for a solution to my problem with MANY_MANY but I just haven't been successful.

So here's the deal (3 table):
Offers
Niches
NichesOffers (niche_id, offer_id)

Relation (Offers.php):
'niches_offers'=>array(self::MANY_MANY, 'Niches',
'niches_offers(offer_id, niche_id)'),

And on NichesOffers.php I have two relations
'offer' => array(self::BELONGS_TO, 'Offers', 'offer_id'),
'niche' => array(self::BELONGS_TO, 'Niches', 'niche_id'),

So what I'm trying to do is look up a niche_id and return all offers that match:
$niche_id = 3;
$criteria=new CDbCriteria;
$criteria->with = array('niches_offers' => array('condition'=>'niche_id = :id', 'params'=>array(':id'=>$niche_id)));
$criteria->together = true;
$offers =new CActiveDataProvider('Offers', array('criteria'=>$criteria));

Here's the error I'm getting:
CDbCommand failed to execute the SQL statement: SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'published' in where clause is ambiguous. The SQL statement executed was: SELECT `t`.`title` AS `t0_c1`, `t`.`our_price` AS `t0_c12`, `t`.`regular_price` AS `t0_c13`, `t`.`id` AS `t0_c0`, `niches_offers`.`id` AS `t1_c0`, `niches_offers`.`name` AS `t1_c1`, `niches_offers`.`published` AS `t1_c2`, `niches_offers`.`site_id` AS `t1_c3`, `niches_offers`.`created` AS `t1_c4`, `niches_offers`.`updated` AS `t1_c5` FROM `offers` `t` LEFT OUTER JOIN `niches_offers` `niches_offers_niches_offers` ON (`t`.`id`=`niches_offers_niches_offers`.`offer_id`) LEFT OUTER JOIN `niches` `niches_offers` ON (`niches_offers`.`id`=`niches_offers_niches_offers`.`niche_id`) WHERE ((published = 1) AND (site_id=1)) AND (niche_id = :id) LIMIT 10

I do have tables with the same column name (published) but I don't see why this is happening.

Thanks so much for taking the time to check this out. Any advice is super appreciated.
0

#2 User is offline   jwerd 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 27
  • Joined: 28-August 10

Posted 29 January 2013 - 02:45 PM

Nevermind. Had a beforeFind that was setting everything without an alias. All fixed :)
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