زمان جاری: 2012/02/11, 10:10 AM خوش آمدید مهمان گرامی! (ورودعضویت)



اجرای Query جدول های ترکیبی


ارسال موضوع  ارسال پاسخ 
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
رتبه موضوع:
 
اجرای Query جدول های ترکیبی
نویسنده پیام
alisniper آفلاین
تازه کار
*

ارسال‌ها: 32
تاریخ عضویت: Jun 2010
رتبه: 0
تشکر: 7
6 بار تشکر شده در 4 پست
ارسال: #1
اجرای Query جدول های ترکیبی
سلام دوستان عزیز .
به روشی کیکی و استفاده از مدل ها و متدهای جستجو شون چطور میتونم Query زیر رو اجرا کنم ؟

کد PHP:
$deductstable $this->Fishlist->query("SELECT a.PERSONID,a.AMOUNT,a.REMAIN,b.DEDUCTNAME from dedu as a , deducts as b where a.DEDUCTCODE = b.DEDUCTCODE AND a.PERSONID = $pid AND a.FYEAR='$year' AND a.FMOUNT = '$mount'"); 
2010/07/26 01:19 AM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
saleh آفلاین
Administrator
*******

ارسال‌ها: 674
تاریخ عضویت: Dec 2009
رتبه: 9
تشکر: 254
473 بار تشکر شده در 359 پست
ارسال: #2
RE: اجرای Query جدول های ترکیبی
بیش از جندین راه مختلف. که بستگی داره به این که ساختارتون مدل ها و رابطه هاشون به چه صورت هست

من اینجور فهمیدم که شما 3 تا مدال دارید

1- فیش حقوقی
2- پرسنل
3- کسورات

اگر درست حدس زده باشم.حالا سوال اینجاست که شما تو مدال فیش حقوقی تمامی پرسنل به همراه کسوراتشون رو بیارید یا چیز دیگه ای منظورتون هست؟
2010/07/26 01:56 AM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
alisniper آفلاین
تازه کار
*

ارسال‌ها: 32
تاریخ عضویت: Jun 2010
رتبه: 0
تشکر: 7
6 بار تشکر شده در 4 پست
ارسال: #3
RE: اجرای Query جدول های ترکیبی
بله . کاملا درست حدس زده اید .
هر فیش حقوقی در هرماه کسوراتی داره که این کسورات در جدول دیگری ذخیره میشه . جدول دیگری هم هست که کد و عنوان کسورات ماهانه در اون ذخیره میشه .
جدول فیش حقوقی و کسورات با شناسه کاربری پرسنل و جدول کسورات و لیست کسورات با کد کسر به همدیگه مرتبط میشن .
Query که نوشتم کاملا جواب رو میده اما همون طور که شما هم فرمودید بهتره از امکانت فریم ورک و روش های منطقی تر استفاده بشه .
ممنون میشم راهنمایید کنید .
2010/07/26 02:47 AM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
alisniper آفلاین
تازه کار
*

ارسال‌ها: 32
تاریخ عضویت: Jun 2010
رتبه: 0
تشکر: 7
6 بار تشکر شده در 4 پست
ارسال: #4
RE: اجرای Query جدول های ترکیبی
دوستان با مطالعاتی که روی Find کردم اینطوری نوشتم . ببینید درسته :
کد PHP:
$dedusearchoptions['joins'] = array(
            array(
'table' => 'deducts',
                  
'alias' => 'Deducts',
                  
'type' => 'LEFT',
                  
'conditions' => array(
                    
'Deducts.DEDUCTCODE = Dedu.DEDUCTCODE',
                        )
                    )
            );
$dedusearchoptions['conditions'] = array(
                    
'Dedu.PERSONID' => $pid,
                    
'Dedu.FYEAR' => $year,
                    
'Dedu.FMount' => $mount,
                    
'Deducts.FYEAR' => $year,
                    
'Deducts.FMount' => $mount,
            );
$dedusearchoptions['fields'] = array('DISTINCT Dedu.PERSONID','Dedu.AMOUNT','Dedu.REMAIN','Deducts.DEDUCTNAME');
$deductstable $this->Dedu->find('all',$dedusearchoptions); 
(آخرین تغییر در این ارسال: 2010/07/27 01:30 PM توسط alisniper.)
2010/07/27 01:29 PM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
saleh آفلاین
Administrator
*******

ارسال‌ها: 674
تاریخ عضویت: Dec 2009
رتبه: 9
تشکر: 254
473 بار تشکر شده در 359 پست
ارسال: #5
RE: اجرای Query جدول های ترکیبی
ظاهرند درسته. اما باز داردی کوئری رو دستی میدید ، چرا ریلیشن ایجاد نمی کنید
2010/07/28 01:02 AM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
alisniper آفلاین
تازه کار
*

ارسال‌ها: 32
تاریخ عضویت: Jun 2010
رتبه: 0
تشکر: 7
6 بار تشکر شده در 4 پست
ارسال: #6
RE: اجرای Query جدول های ترکیبی
ممنون میشم یه مثال بزنید
2010/07/28 04:22 PM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
saleh آفلاین
Administrator
*******

ارسال‌ها: 674
تاریخ عضویت: Dec 2009
رتبه: 9
تشکر: 254
473 بار تشکر شده در 359 پست
ارسال: #7
RE: اجرای Query جدول های ترکیبی
به قسمت مودال ریلیشن مراجعه کنید. به خوبی توضیح داده که چه دور بین دو مودال رابطه های رو برفرار کنید
2010/07/28 05:30 PM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
ارسال موضوع  ارسال پاسخ 


پرش در انجمن: