زمان جاری: 2012/05/23, 03:50 AM خوش آمدید مهمان گرامی! (ورودعضویت)



ارتباط بین چند جدول


ارسال موضوع  ارسال پاسخ 
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
رتبه موضوع:
 
ارتباط بین چند جدول
نویسنده پیام
saleh آفلاین
Administrator
*******

ارسال‌ها: 989
تاریخ عضویت: Dec 2009
رتبه: 12
تشکر: 399
870 بار تشکر شده در 560 پست
ارسال: #21
RE: ارتباط بین چند جدول
شما کنترلر و مودل هاتون رو آپلود کنید تا مشکلتون رو بررسی کنم
2011/09/30 04:36 PM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
 تشکر شده توسط : 786ali
786ali آفلاین
عضو نیمه حرفه ای
**

ارسال‌ها: 135
تاریخ عضویت: Jul 2011
رتبه: 2
تشکر: 197
80 بار تشکر شده در 42 پست
ارسال: #22
RE: ارتباط بین چند جدول
(2011/09/30 04:36 PM)saleh نوشته است:  شما کنترلر و مودل هاتون رو آپلود کنید تا مشکلتون رو بررسی کنم

سلام
آپلود شد :
http://ali786.persiangig.com/cakephp/cakephp.zip
2011/10/01 04:45 PM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
saleh آفلاین
Administrator
*******

ارسال‌ها: 989
تاریخ عضویت: Dec 2009
رتبه: 12
تشکر: 399
870 بار تشکر شده در 560 پست
ارسال: #23
RE: ارتباط بین چند جدول
شما در مدل های کتگوری و پست اشتباه ارتباط دادید

نقل قول: public $hasMany = array(
'CatsPosts'
);

اشتباه در این هست که شما مدلی به اسم CatsPosts ندارید بلکه باید با CatPost ارتباط بر قرار کنید.
2011/10/01 09:36 PM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
786ali آفلاین
عضو نیمه حرفه ای
**

ارسال‌ها: 135
تاریخ عضویت: Jul 2011
رتبه: 2
تشکر: 197
80 بار تشکر شده در 42 پست
ارسال: #24
RE: ارتباط بین چند جدول
(2011/10/01 09:36 PM)saleh نوشته است:  شما در مدل های کتگوری و پست اشتباه ارتباط دادید

نقل قول: public $hasMany = array(
'CatsPosts'
);

اشتباه در این هست که شما مدلی به اسم CatsPosts ندارید بلکه باید با CatPost ارتباط بر قرار کنید.

من قبلا جداول دیتابیس رو گذاشته بودم
همه چیز الان داره درست کار میکنه ، فقط مشکل همیونه که مطرح کرده بودم (پست های مطالب)
با CatPost هم امتحان کردم جواب نمبده و همش ارور میده
2011/10/01 10:54 PM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
786ali آفلاین
عضو نیمه حرفه ای
**

ارسال‌ها: 135
تاریخ عضویت: Jul 2011
رتبه: 2
تشکر: 197
80 بار تشکر شده در 42 پست
ارسال: #25
RE: ارتباط بین چند جدول
خدا شکر یک راه حل پیدا کردم و مشکل به کلی حل شد
با کد زیر در کنترلر post
کد PHP:
$this->Post->bindModel(array(
    
'hasOne' => array(
    
'CatsPost',
    
'FilterCat' => array(
    
'className' => 'Cat',
    
'foreignKey' => false,
    
'conditions' => array('FilterCat.id = CatsPost.cat_id')
    ))));
    
$this->set('cats',$this->Post->find('all', array(
    
'fields' => array('Post.*'),
    
'conditions'=>array('FilterCat.name'=> $cids)
    ))); 

و مدل ها به شکل زیر :

کد PHP:
class Post extends AppModel {
    var 
$name="Post";
var 
$hasAndBelongsToMany = array(
'Cat' =>
array(
'className' => 'Cat',
'joinTable' => 'cats_posts',
'foreignKey' => 'post_id',
'associationForeignKey' => 'cat_id'
)
); 

حالا وقتی یوزرها و مدل آنها را با رابطه زیر به مجموعه کد ها اضافه می شود ، کد بالا جواب نمی دهد !! Angry

User :
کد PHP:
var $hasMany 'Post'

Post :
کد PHP:
var $hasOne 'User'
(آخرین تغییر در این ارسال: 2011/10/02 01:23 AM توسط 786ali.)
2011/10/02 12:47 AM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
ارسال موضوع  ارسال پاسخ 


پرش در انجمن: