• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل با ActiveRecord
#1
سلام
من یک relation زدم و میخوام از طریق یک relation به یک relation دیگه دسترسی پیدا کنم و SUM یکی از فیلد هارو بگیرم و درست کار نمیکنه !
کد پی‌اچ‌پی:
public function relations()
    {
        
// NOTE: you may need to adjust the relation name and the related
        // class name for the relations automatically generated below.
        
return array(
            
'user' => array(self::BELONGS_TO'User''user_id'),
            
'unit_lesson' => array(self::BELONGS_TO'UnitLesson',array('unit_lesson_id'=>'unit_id')),
        );
    } 



کد پی‌اچ‌پی:
Unit::model()->with(
                array(
                    
'unit_lesson' => array(
                        
'with' => 'lesson' => array(
                            
'select' => 'SUM(unit)'
                        
)
                    )
                    
                    )
                )->
findAll(); 
  پاسخ
تشکر شده توسط :
#2
برای انجام چنین کوئری با اکتیو رکورد باید از through استفاده کنید، با دوتا with توی هم نمیشه.
عجیب کاربرد جالبی داره حتما ازش استفاده کنیدBig Grin
http://www.yiiframework.com/doc/guide/1....th-through
http://www.yiiframework.com/doc/api/1.1/...ons-detail
سالهــــا مـــــى گــــــذرد، حادثه ها مى آید
انتظـــــار فـــــــرج از نیمـــــه خــــــرداد کشم

[عکس: ShowPicture.aspx?ID=52750d12-5d92-4286-9...height=100]
  پاسخ
تشکر شده توسط : mehdints
#3
(۱۳۹۲ بهمن ۱۲, ۰۹:۰۶ ب.ظ)shgninc نوشته: برای انجام چنین کوئری با اکتیو رکورد باید از through استفاده کنید، با دوتا with توی هم نمیشه.
عجیب کاربرد جالبی داره حتما ازش استفاده کنیدBig Grin
http://www.yiiframework.com/doc/guide/1....th-through
http://www.yiiframework.com/doc/api/1.1/...ons-detail
میشه یه مثال بزنید ؟
  پاسخ
تشکر شده توسط :
#4
مثلا شما یک جدول post، user, group دارید که post با user و user با group ارتباط دارند. برای ارتباط post با group دقیقا این ویژگی به کار میاد.
ببخشید بیشتر از این وقت توضیح ندارم. شما همون مثال را بخونید اگر سوالی بود در خدمتتون هستم.
می دونم یکم گیج کننده باید یک مثال رو برید تا متوجه بشیدWink
سالهــــا مـــــى گــــــذرد، حادثه ها مى آید
انتظـــــار فـــــــرج از نیمـــــه خــــــرداد کشم

[عکس: ShowPicture.aspx?ID=52750d12-5d92-4286-9...height=100]
  پاسخ
تشکر شده توسط : mehdints
#5
(۱۳۹۲ بهمن ۱۲, ۰۹:۰۶ ب.ظ)shgninc نوشته: برای انجام چنین کوئری با اکتیو رکورد باید از through استفاده کنید، با دوتا with توی هم نمیشه.
عجیب کاربرد جالبی داره حتما ازش استفاده کنیدBig Grin
http://www.yiiframework.com/doc/guide/1....th-through
http://www.yiiframework.com/doc/api/1.1/...ons-detail

بله حق با شماست عجیب کابرد جالبی داره Big Grin

روش زیر هم همونه درسته ؟
کد پی‌اچ‌پی:
'address' => array('profile' ,"profile(user_id,profile_id)"),. 
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان