में उसी मॉडल के लिए एकाधिक एसोसिएशन मैं केकेपीएचपी संस्करण 3.x का उपयोग कर रहा हूं।केकेपीएचपी 3
जब मैं संदेशटेबल से पूछता हूं तो मैं प्रेषक और संदेश प्राप्तकर्ता के लिए उपयोगकर्ता डेटा प्राप्त करना चाहता हूं। मैंने केकपीएचपी 2 में कई बार ऐसा किया है लेकिन मुझे पता नहीं लगा कि यह संस्करण 3.x में क्यों काम नहीं कर रहा है।
मेरे पास एक उपयोगकर्ताटेबल और एक संदेश योग्य है।
UsersTable
$this->hasMany('Messages');
MessagesTable
$this->belongsTo('Users', [
'foreignKey' => 'sender_id',
'propertyName' => 'Sender',
]);
$this->belongsTo('Users', [
'foreignKey' => 'user_id',
'propertyName' => 'Receiver'
]);
इस क्वेरी मैं
$messages = $this->Messages->find()
->where(['Messages.user_id' => $this->Auth->user('id')])
->orwhere(['Messages.sender_id' => $this->Auth->user('id')])
->order(['Messages.created' => 'DESC'])
->contain([
'Users.Pictures',
]);
उपयोग कर रहा हूँ मैं रिसीवर डेटा को वापस नहीं बल्कि भेजने वाले डेटा के रूप में अच्छी तरह से हो रही है है। किसी भी मदद की वास्तव में सराहना की जाएगी
प्रतिक्रिया @drmonkeyninja के लिए धन्यवाद। आपका सुझाव मैंने पहली कोशिश की थी, लेकिन इससे मुझे एक त्रुटि मिली कि संदेश उपयोगकर्ताओं से जुड़े नहीं हैं, भले ही वे जुड़े हुए हों, जिससे मुझे विश्वास हो कि मैं केकपीएचपी 3 में गलत कर रहा था इसलिए मैंने इसे बदल दिया। कोई विचार यह क्यों है कि यह त्रुटि दे रहा है? – Wisd0m
@ Wisd0m प्लगइन में आपके उपयोगकर्ता मॉडल है? – drmonkeyninja
कोई मेरा उपयोगकर्ता मॉडल प्लगइन में नहीं है। यह वास्तव में अजीब है कि यह मुझे उस त्रुटि दे रहा है, क्या उपयोगकर्ताओं के पास कुछ ('संदेश') संबंध हो सकता है? – Wisd0m