استفاده از متد findByAttributes() در yii1
یکی از متد های CActiveRecord متد findByAttributes می باشد که یک رکورد(سطر) را بر اساس ویژگی ها و شرط های خواسته شده پیدا می کند:
که سه ۳ آرگومان دریافت می کند :
public static findByAttributes(array $attributes, mixed $condition='', array $params=array ( ))
همانطور که در کد بالا مشخص است این سه آرگومان به شرح زیر می باشندک
-
attributes
که به صورت آرایه دریافت میشود :
array(‘status’=>1) -
condition
پس از attributes به صورت mix استفاده می شود
“status=1 AND cat_id=:cid” -
params
که به صورت آرایه دریافت می شود . در صورتی که در condition استفاده شده باشد همانند مثال بالا
array(“:cid”=>2)
مثال:
$result = User::model()->findByAttributes( array('reset_key' => $user->reset_key), 'reset_expires <= NOW()' );
استفاده از CDbCriteria
$criteria = new CDbCriteria; $criteria->addCondition("current_date<=".now()); $result = User::model()->findByAttributes(array('reset_key' =>$user->reset_key),$criteria);
Person::model()->findByAttributes( array('first_name'=>$firstName,'last_name'=>$lastName), 'status=:status', array(':status'=>1) );
Person::model()->findByAttributes( array('first_name'=>$firstName,'last_name'=>$lastName), array( 'condition'=>'status=:status', 'params'=>array(':status'=>1) ) );