PDA

View Full Version : findbyattributes



majidbayat
دوشنبه 03 اسفند 1394, 16:13 عصر
$students=Students::model()->findByAttributes(array(
'attributes'=>,
'condition'=>,
'params'=>
));

فرض کنید جدولی شامل نام و نام خانوادگی و سن و نمره چند دانش آموز دازیم. اگر بخواهیم برای کوئری از تابع findbyattributes استفاده کنیم ، نحوه تکمیل این تابع به چه صورت هست؟

سوال دوم هم در مورد findbypk هست، در این تابع باتوجه به اینکه شماره pk منحصر به فرده ، دلیل وجود condition و params چیه؟

$post=Post::model()->findByPk($postID,$condition,$params);

مهرداد سیف زاده
دوشنبه 03 اسفند 1394, 17:41 عصر
دلیل این پارامترها اختیاری بودنش هست. در ۹۹ درصد مواقع همون پارامتر اول کار رو راه میندازه جز این که query شما پیچیده تر باشه. در condation شما میتونید شرطهای بیشتری تعریف کنید. این که مثلا id برابر 1 باشه ولی مقدار title مخالف NULL باشه.
در صورت که در قسمت condition از روش bind param استفاده کرده باشید، در این جا پارامترها رو در آرایه قرار میدید و ارسال میکنید برای مدل

در کل روش عمومی استفاده بصورت زیر هست



$students=Students::model()->findByAttributes(array(
'title'=>'value_for_query'
));


$post=Post::model()->findByPk(12);

$students= Students::model()->findAllByAttributes(
array(
'title' => 'value_for_query',
'type' => 'user'
),
array(
'order' => 'date desc',
'limit' => 10,
'offset' => 15
));