hi, i want to ask about searching in array in model with cdbcriteria,
i have this code in model
public function search()
{
$criteria=new CDbCriteria;
$criteria->compare('tc_color',$this->tc_color);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
and i have custom array
$arr = array(0=>‘normal’,1=>‘black’,2=>‘white’);
if i search by ‘bla’, how to know that its black, and return 1?
i tried using strpos but no result like this code :
function mappingFlagWhiteBlack($flagWhiteBlack){
$flags = strtolower($flagWhiteBlack);
if($flag != '')
{
if(strpos("normal",$flag) !== false){ return 0; }
else if(strpos("list",$flag) !== false){ $arr=array(1,2); return $arr;}
else if(strpos("blacklist",$flag) !== false){ return 1; }
else if(strpos("whitelist",$flag) !== false){ return 2; }
else { return '-1'; }
}
and the model search
public function search()
{
$criteria=new CDbCriteria;
$criteria->compare('tc_color',$this->mappingFlagWhiteBlack($this->tc_color));
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
can someone help me?thanks.