Yii Framework Forum: MANY_MANY auf sich selbst - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

MANY_MANY auf sich selbst Rate Topic: -----

#1 User is offline   yii 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 440
  • Joined: 25-July 09

Posted 24 September 2009 - 06:42 AM

Hi,
es geht um folgendes.

Ich versuche eine MANY_MANY - Beziehung auf die selber Tabelle durchzuführen, jedoch ohne Erfolg

Meine Tabelle

words
id
baseform

synonyms
wordsId
synonymId

Mein Model (Words.php) sieht folgender Maßen aus

public function relations()
{
	return array(
		'Synonym'	=> array(self::MANY_MANY, 'Words', 'Synonyms(wordsId, synonymId)'.
			'together'	=> true,
			'joinType'	=> 'INNER JOIN',
		),
	);
}


jedoch wie muss die relations() - Methode in synonyms erstellen??

public function relations()
{
	return array(
	);
}

Meine Fragen stelle ich öffentlich und baue somit eine Wissensdatenbank für andere auf!
0

#2 User is offline   Mike 

  • Elite Member
  • PipPipPipPipPip
  • Yii
  • Group: Members
  • Posts: 3,013
  • Joined: 06-October 08
  • Location:Upper Palatinate

Posted 24 September 2009 - 07:29 AM

Für MANY_MANY relations musst du nicht zwingend ein AR für die Koppeltabelle anlegen, geschweige denn relations() dort definieren. Stimmt denn dein Tabellenname "Synonyms"?
0

#3 User is offline   yii 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 440
  • Joined: 25-July 09

Posted 24 September 2009 - 08:11 AM

Laut http://www.yiiframew...dpost__p__21424 muss ich auch für die Koppeltabelle ein Model erstellen.

ja synonyms ist der Name der Koppeltabelle.
Meine Fragen stelle ich öffentlich und baue somit eine Wissensdatenbank für andere auf!
0

#4 User is offline   Mike 

  • Elite Member
  • PipPipPipPipPip
  • Yii
  • Group: Members
  • Posts: 3,013
  • Joined: 06-October 08
  • Location:Upper Palatinate

Posted 24 September 2009 - 08:39 AM

Das AR brauchst du nur, um Einträge in dieser Koppeltabelle bequem anzulegen zu ändern oder zu löschen. Für die Definition der Relation ist es aber nicht nötig. Du musst lediglich den Tabellennamen angeben:

synonyms(wordsId, synonymId)

Prüf mal die Schreibweise deines Tabellennamens. Groß-/Kleinschreibung evtl.?
0

#5 User is offline   yii 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 440
  • Joined: 25-July 09

Posted 24 September 2009 - 02:17 PM

Schreibweise ist soweit korrekt.

Ich erhalte außerdem folgende Fehlermeldung

CDbException
Description

The relation "synonyms" in active record class "synonyms" is specified with an incomplete foreign key. The foreign key must consist of columns referencing both joining tables.

Meine Fragen stelle ich öffentlich und baue somit eine Wissensdatenbank für andere auf!
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users