Help With Search Criteria Belongs Too Has Many

I’m trying to filter my search results based on the role of a user. I have a table which is related to the user on two occasions. 1 when the user is the app owner. 2 whent the user is in the user_has_app table:

class App extends AsoActiveRecord {


     * @return string the associated database table name


    public function tableName() {

        return 'app';



     * @return array relational rules.


    public function relations() {

        // NOTE: you may need to adjust the relation name and the related

        // class name for the relations automatically generated below.

        return array(

            'user' => array(self::BELONGS_TO, 'User', 'user_id'),

            'appVersions' => array(self::HAS_MANY, 'AppVersion', 'app_id'),

            'users' => array(self::MANY_MANY, 'User', 'user_has_app(app_id, user_id)'),



    public function search($size = 18) {


        $criteria = new CDbCriteria();

        $criteria->compare('app_name', $this->app_name);


        $criteria->with = array('user','users');

        $criteria->compare('', Yii::app()->user->getId());

        $criteria->compare('user_has_app.app_id', $this->id);

        $criteria->compare('user_has_app.user_id', Yii::app()->user->getId());



        $criteria->together = true;


        return new CActiveDataProvider($this, array(

            'criteria' => $criteria,

            'sort' => array(

                'defaultOrder' => 'app_name DESC',


            'pagination' => array(

                'pageSize' => $size,





I get the following error