Problem With Criteria

hi every one:

these are my relations:




'author' => array(self::BELONGS_TO, 'JTUser', 'CREATOR'),

'topic' => array(self::BELONGS_TO, 'JTTopic', 'TOPICREF'),


'content_division'=>array(self::HAS_MANY,'JTContentDivision','CONTENTID'),


'parts'=>array(self::HAS_MANY,'JTDivision',array('GROUPID'=>'DIVID'),'through'=>'content_division', 'alias'=>'content_part'),


'category'=>array(self::HAS_MANY,'JTDivision',array('CATEGORYID'=>'DIVID'),'through'=>'content_division', 'alias'=>'content_category'),



and I want to create this query with criteria:




SELECT *

FROM `jdb_content_bank` `t`

LEFT OUTER JOIN `jdb_user` `author` ON ( `t`.`CREATOR` = `author`.`USERID` )

LEFT OUTER JOIN `jdb_topic` `topic` ON ( `t`.`TOPICREF` = `topic`.`TOPICID` )

LEFT OUTER JOIN `jdb_content_division` `content_division` ON ( `content_division`.`CONTENTID` = `t`.`CONTENTBANCKID` )

LEFT OUTER JOIN `jdb_division` `content_part` ON ( `content_division`.`GROUPID` = `content_part`.`DIVID` )

WHERE (

`t`.`STATUS` =1

AND `content_part`.`DIVID` =1

)



this is my criteria:




$criteria = new CDbCriteria;

$criteria->with = array('author'=>array('select'=>'USERNAME'),

			'topic'=>array('select'=>'topic.TITLE'),

			'parts'=>array('select'=>''));

$cond = "`t`.`STATUS` =1 AND `content_part`.`DIVID` = ".$part;



but if I use "AND" in my condition it creates this query which does not have some joins:




SELECT

`t`.`CONTENTBANCKID` AS `t0_c0`, `t`.`CREATEDATE` AS `t0_c1`, `t`.`CREATOR` AS `t0_c2`,

`t`.`LASTMODIDATE` AS `t0_c3`, `t`.`LASTMODIFIER` AS `t0_c4`, `t`.`STATUS` AS `t0_c5`, `t`.`SUBJECT` AS `t0_c6`,

`t`.`CONTENT` AS `t0_c7`, `t`.`TAG` AS `t0_c8`, `t`.`TOPICREF` AS `t0_c9`, `author`.`USERNAME` AS `t1_c1`,

`author`.`USERID` AS `t1_c0`, `topic`.`TITLE` AS `t2_c6`, `topic`.`TOPICID` AS `t2_c0`


FROM `jdb_content_bank` `t`

LEFT OUTER JOIN `jdb_user` `author` ON (`t`.`CREATOR`=`author`.`USERID`)

LEFT OUTER JOIN `jdb_topic` `topic` ON (`t`.`TOPICREF`=`topic`.`TOPICID`)

WHERE (`t`.`STATUS` =1 AND `content_part`.`DIVID` = 1) 



and when I use "," in my condition it creates this query which have all joins but "where clause" is not true:




SELECT COUNT(DISTINCT `t`.`CONTENTBANCKID`)

FROM `jdb_content_bank` `t`

LEFT OUTER JOIN `jdb_user` `author` ON (`t`.`CREATOR`=`author`.`USERID`) 

LEFT OUTER JOIN `jdb_topic` `topic` ON (`t`.`TOPICREF`=`topic`.`TOPICID`) 

LEFT OUTER JOIN `jdb_content_division` `content_division` ON (`content_division`.`CONTENTID`=`t`.`CONTENTBANCKID`)

LEFT OUTER JOIN `jdb_division` `content_part` ON (`content_division`.`GROUPID`=`content_part`.`DIVID`)

WHERE (`t`.`STATUS` =1, `content_part`.`DIVID` = 1)