joinwith - ¿Cómo puedo usar Yii.ActiveRecord para encontrar registros no relacionados?
yii2 español (1)
Tengo dos modelos con relación:
class Model1 extends CActiveRecord
public function relations()
{
return array(
''relation'' => array(self::HAS_MANY, ''Model2'', ''id_model1''),
)
}
Quiero ver por CListView esos registros del Modelo 1, que no están relacionados con el Modelo2. Obvio, puedo usar algo como
$criteria->condition = ''id NOT IN (SELECT DISTINCT id_model1 FROM model2_tbl)''
y luego envíe estos $ criterios a ActiveDataProvider. Pero busco algo más inteligente, más "yii-way" para la solución. ¿Existe?
Las opciones de consulta relacional ''joinType'' = ''RIGHT OUTER''
y ''condition''=>''left_table.join_field IS NULL''
podrían ser el truco.