के माध्यम से मॉडल को ढूंढने में मैं Yii उपयोग कर रहा हूँ और 3 टेबल है: उपयोगकर्ताओं को एक users_devices तालिका (user_id, DEVICE_ID) के साथ उपकरणों उन दोनों के बीच MANY_MANY संबंधों को परिभाषित करने के लिए।Yii many_many संबंध
क्या मैं के लिए देख रहा हूँ अपने आईडी (devices.id) से एक डिवाइस को खोजने का सरलतम विधि है कि एक विशिष्ट उपयोगकर्ता (users.id) ActiveRecord के माध्यम से से संबंधित है।
परिदृश्य एक REST API का एक डिवाइस के लिए क्वेरी है, लेकिन मैं इस उपकरण सुरक्षा कारणों के लिए प्रयोक्ता की है सत्यापित करना चाहते हैं।
$device = Devices::model()->findByPk($deviceId)->having(
array('user_id' => $userId));
अग्रिम धन्यवाद किसी भी मदद के लिए, मैं थोड़ी देर के लिए यह शोध किया गया है और एक सुरुचिपूर्ण समाधान नहीं मिल सकता है:
कुछ इस तरह विचार है।
क्या उपयोगकर्ताओं_devices में user_id और device_id प्राथमिक (समग्र) कुंजी के रूप में है? ऐसा है, prmaryKey() को ओवरराइड करना न भूलें (जैसे] (http://learnyii.blogspot.com/2010/12/yii-on-many-many-relationships.html)। और आप उपयोगकर्ता-डिवाइस संबंध (या एक की कमी) की पहचान करने के लिए अपने कस्टम-निर्मित मॉडल का उपयोग करके उस तालिका पर केवल एक खोज कर सकते हैं। – hobs
आपका मतलब MANY_MANY नहीं है HAS_MANY। – hobs
@ हॉब्स, आप सही हैं। –