برای جدول دسته بندی های سایت یک ستون دیگه برای ویژه کردن دسته ها اضافه کردم.
حالا میخوام از دسته ای که ویژه میشه حداکثر 4 مطلب رو بگیره و داخل آرایه ذخیره کنه چه کاری انجام بدم؟
$specialCategories = Categories::model()->findAll(array(
'order' => 'RAND()',
'limit' => 4,
'condition' => 'special=1',
));
اینو نوشتم
<?php
$specialCategories = Categories::model()->findAll('special=1 AND confirmed =1');
foreach($specialCategories AS $special ){
$products=Products::model()->findAllByAttributes(array('category_id' => $special->id, 'confirmed' =>1),array('limit'=>4));
}
این مدلی بهینه تره:
foreach(Categories::model()->findAll('special=1 AND confirmed =1') AS $special) {
$products = Products::model()->findAll(array(
'condition' => 'category_id=:categoryId AND confirmed=1',
'params' => array(':categoryId' => $special->id),
'limit' => 4,
));
}