Relations Zwischen Myisam Und Innodb Schlägt Fehl

Hi zusammen,

ich habe zwei unterschiedliche MySql Tabelle. Eine InnoDb und eine MyIsam.

Meine Relation




public function relations()

{

	return array(

		'landingPages'  => array(self::BELONGS_TO, 'LandingPages', 'boat_models_id',

        ),

);






<?php

$oCriteria = new CDbCriteria();

$oCriteria->select      = "name,url";

$oCriteria->with        = array(

    'landingPages'  => array('select' => 'url'),

);

$aTmp = Boat::model()->findAll($oCriteria);

print_r($aTmp);



Nun erhalte ich folgende Fehlermeldung, die ich mir jedoch nicht erklären kann.

Wie kann ich den Check abschalten?

Die Relation "landingPages" in der ActiveRecord-Klasse "Boat" wurde mit einem ungültigen Fremdschlüssel "boat_models_id" definiert. In der Tabelle "boat_models" gibt es keine solche Spalte.

thx!

Nach der Fehlermeldung zu urteilen gibt es keine solche Spalte. Eventuell ist da ein Tippfehler drin?

Ansonsten macht es keinen Sinn für Relationen MyISAM zu verwenden. Wenn Du es doch machen muss, kannst Du auch einfach das SQL manuell schreiben und dann findBySql machen.

So wie es aussieht willst Du das ActiveRecord eh nicht verwenden weil Du nur die Url selektierst.

Hi Dave,

tatsächlich musste ich "id" als Referenz-Spalte hinterlegen.

thx für den Hinweis