Ich verstehe nicht warum er die Spalte nicht kennt.
Fehlermeldung
CDbException
Description
CDbCommand failed to execute the SQL statement: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'drivers.id' in 'where clause'
$x = drivers::model()->tableSchema->getColumnNames();
Liefert mir [0] => id und [1] => baseform
Mein Aufruf
public function driversCars( $baseform )
{
return Drivers::model()->with(array('cars'))->find('drivers.id=?', array( $baseform ) );
}
Tabellenname darfst du nicht direkt angeben, da sie im query anders bezeichnet werden. Wenn das AR zb bei einem join “drivers as t1” macht, kannst du in diesem SELECT nicht mehr ‘drivers’ verwenden.
Für eine Spalte aus der Stammtabelle kannst du einfach den Spaltennamen benutzen, für die relation benutzt du einen alias oder überlässt yii die tabellenbezeichnung in dem du ??.<spaltenname> angibst.