Estoy usando Yii y tengo 3 tablas: usuarios, dispositivos con una tabla users_devices (user_id, device_id) para definir la relación MANY_MANY entre ellos.Yii encuentra modelos a través de many_many relación
Lo que estoy buscando es el método más simple para encontrar un dispositivo desde su id (devices.id) que pertenece a un usuario específico (users.id) a través de ActiveRecord.
El escenario es una API REST que está buscando un dispositivo, pero quiero verificar que el dispositivo sea propiedad del usuario por razones de seguridad.
Algo como esto es la idea:
$device = Devices::model()->findByPk($deviceId)->having(
array('user_id' => $userId));
Gracias de antemano por cualquier ayuda, he estado investigando esto durante un tiempo y no puedo encontrar una solución elegante.
¿Los dispositivos de usuario tienen user_id y device_id como claves primarias (compuestas)? Es así, no olvide sobrescribir prmaryKey() como lo hacen [aquí] (http://learnyii.blogspot.com/2010/12/yii-on-many- many-relations.html). Y podría hacer un hallazgo en esa tabla utilizando su modelo personalizado para identificar la relación usuario-dispositivo (o la falta de uno). – hobs
Usted quiso decir que MANY_MANY no tiene HAS_MANY. – hobs
@Hobs, tienes razón. –