گرفتن سال و ماه های آرشیو

[right]

سلام من موندم چرا کدی که کامنت کردم کار نمی کنه ولی کد پایینیش کار می کنه

میشه بنده رو راهنمایی کنید

البته نه اینکه اخطار بده اصلا نال برمی گردونه

[/right]




//$criteria=new CDbCriteria;

//$criteria->condition = 'STATUS =1';

//$criteria->select='YEAR(CREATEDATE) AS YEAR, MONTH(CREATEDATE) AS MONTH, COUNT(*) AS TOTAL';

//$criteria->group='YEAR, MONTH';

//$rightmenu = $this->findAll($criteria);

		

$rightmenu = Yii::app()->db->createCommand()

	     ->select('YEAR(CREATEDATE) AS YEAR, MONTH(CREATEDATE) AS MONTH, COUNT(*) AS TOTAL')

	     ->from('jdb_content_bank')

	     ->group('YEAR, MONTH')

	     ->queryAll();

		

return $rightmenu;



[right][font="Tahoma"][rtl]شاید به خاطر اینه که کد اولی condition داره اما کد دومی نداره!

[/font][right][font="Tahoma"]در ضمن تابع findAll() اگر چیزی پیدا نکنه آرایه خالی برمیگردونه نه null. مطمئنی null برمیگرده؟![/font]

[/rtl]

[/right] [/right]




$criteria->condition = 'STATUS =:p1';

$criteria->params = array(':p1' => 1);



[font="Tahoma"][rtl]

در حالت اول شما آبجکت اکتیو رکورد برمیگردونید که این آبجکت بر اساس اسکیمای جدول دیتابیس عمل میکنه بنابر این وقتی در criteria فیلد select رو به این شکل مقدار دهی میکنین و از اونجا که این مقادیر یعنی year و month در ستونهای جدول اصلیتون وجود نداره بنابراین به طور پیش فرض جزو اتریبیوتهای آبجکت شما قرار نداره و به همین خاطر نال برمیگردونه ساده ترین راه برای حل این مشکل اینه که در داخل model اتریبیوت پابلیک به این نامها ایجاد کنید

موفق باشید

در مدل قرار بدید:

[/rtl][/font]




public $year,$month;



[right]سلام دوباره و ممنون از پاسخ هاتون، آقا رضا درست می گفتن و مشکل از کاندیشن نیست. حالا کدوم از این ها بهتره؟ یعنی بهتره من متغیر هارو اضافه کنم یا همین بزارم باشه؟ یا اصلا فرقی نمی کنه

البته شاید تو این مورد ساده فرقی نکنه[/right]

[rtl][font="Tahoma"]

سوال سختیه ;)

[/font][/rtl]