تالار گفتمان nCIS.ir

نسخه‌ی کامل: مرتب سازی با order تو جوین کردن
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام.
    public function actionCategory($id)
    {
        if(!($category = Categories::model()->findByPk($id))) {
            throw new CHttpException(404, 'دسته بندی یافت نشد.');
        }
        $posts = Posts::model()->with(
            array(
                'category'=>array(
                    'order'=>'Posts.id DESC',
                    'condition'=>'category.id=:categoryId AND category.confirmed=1',
                    'params'=>array(
                        ':categoryId'=>$category->id
                    ),
                )
            )
        )->findAll('t.confirmed=1');
        if(!$posts) {
            throw new CHttpException(404, 'مطلبی در دسته بندی "' . CHtml::encode($category->name) . '" یافت نشد.');
        }
        $this->render('index', compact('posts'));
    }
چجوری میشه پست ها رو بر اساس ایدی مرتب کرد.من هر تغییری میدم ارور میده.ممنون.
این کد رو تست کنید:
public function actionCategory($id)
{
    if(!($category = Categories::model()->findByPk($id))) {
        throw new CHttpException(404, 'دسته بندی یافت نشد.');
    }
    $posts = Posts::model()->with(
        array(
            'category'=>array(
                'condition'=>'category.id=:categoryId AND category.confirmed=1',
                'params'=>array(':categoryId'=>$category->id),
            )
        )
    )->findAll(array('order'=>'t.id','condition'=>'t.confirmed=1'));
    if(!$posts) {
        throw new CHttpException(404, 'مطلبی در دسته بندی "' . CHtml::encode($category->name) . '" یافت نشد.');
    }
    $this->render('index', compact('posts'));
}

دقت کنید که شما دارین ترتیب رو برای خود پستها مشخص میکنید نه کامنتها، پس نباید order رو داخل with بگذارین.