استفاده از متد 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)
)
);