Yii Framework Forum: MANY - MANY - MANY Beziehung - Yii Framework Forum

Jump to content

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

MANY - MANY - MANY Beziehung Rate Topic: -----

#1 User is offline   yii 

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

Posted 03 October 2009 - 09:17 AM

Hi,
ich versuche eine MANY-MANY-MANY Beziehung herzustellen. Ich weiß wo mein Fehler liegt, jedoch weiß ich nicht wie ich ihn beheben soll.

Attached File  yii_many_many_many2.PNG (9.83K)
Number of downloads: 33

apple - Model
public function relations()
{
	return array(
		'apple'	=> array(self::MANY_MANY, 'juice', 'apple_juice(apple_Id, juice_Id)',
			'together'	=> true,
			'joinType'	=> 'INNER JOIN',
		),
		'juice'	=> array(self::MANY_MANY, 'Buyer', 'juice_buyer(juice_Id, buyer_Id)',
			'together'	=> true,
			'joinType'	=> 'INNER JOIN',
		),
	);
}


Apple -> Juice -> Buyer - Aufruf
public function appleJuiceBuyer( $baseform ){
	return apple::model()->with(array('apple', 'juice'))->find('apple.baseform=?', array( $baseform ) );
}




Mein zubehebender Fehler
Ich vermute das mein Fehler darin liegt, dass ich in der Relationstabelle mit "juice" eine MANY-MANY Beziehung Apple <-> Buyer herstelle und nicht Apple -> Juice -> Buyer


Für eine Hilfe bin ich schon jetzt sehr dankbar.!!!
Meine Fragen stelle ich öffentlich und baue somit eine Wissensdatenbank für andere auf!
0

#2 User is offline   yoshi 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 170
  • Joined: 28-February 09
  • Location:Germany

Posted 04 October 2009 - 04:47 PM

Ich hab mir jetzt nur mal das Diagramm angesehen und nicht den Code und verstehe nur Bahnhof...

Also ein Apfel kann in beliebig vielen sagen wir mal Flaschen (oder welche Einheit auch immer) vorkommen. Eine Flasche enthält beliebig viele Äpfel. <- Das ist bis jetzt noch theoretisch möglich, wenn auch irgendwie seltsam.

Eine Flasche kann von beliebig vielen Käufern gekauft werden und ein Käufer kann beliebig viele Flaschen kaufen. <- Der erste Punkt ist auch sehr seltsam.

Vielleicht erläuterst du ein wenig, was du überhaupt vor hast?!
0

#3 User is offline   yii 

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

Posted 04 October 2009 - 04:49 PM

Das Diagramm hat keine Bedeutung, ich habe einfach was genommen was mir im Kopf war.
Ich versuche eine MANY-MANY-MANY Beziehung zu erstellen.
Meine Fragen stelle ich öffentlich und baue somit eine Wissensdatenbank für andere auf!
0

#4 User is offline   yoshi 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 170
  • Joined: 28-February 09
  • Location:Germany

Posted 04 October 2009 - 05:14 PM

View Postyii, on 04 October 2009 - 04:49 PM, said:

Das Diagramm hat keine Bedeutung, ich habe einfach was genommen was mir im Kopf war.


Na dann sag das doch auch! Das hat mich jetzt wieder mindestens eine Tasse Kaffee gekostet! ???

Ok, also fangen wir mal vorne an.
Das Model apple hat wohl keine Relation die apple heißt, es sein denn, es besteht eine Relation zu sich selbst. Aber das ist auch nicht so wichtig.
1. apple hat eine Many-Many-Relation zu juice. Das war es. Ende aus.
2. juice hat eine Many-Many-Relation zu apple und zu buyer. Ist der Coolste von allen.
3. buyer hat eine Many-Many-Relation zu juice, nicht aber zu dem blöden Apfel.

Das Ganze nun in einem Rutsch abzufragen wird wohl etwas tricky.
Von der Seite des Apfels aus betrachtet: 1 Apfel kommt in 17 Flaschen saft vor, easy: $myApple->juice liefert mir nun 17 records. Aber wenn ich jetzt auch noch die Käufer meines Apfels kennen möchte, heißt das, dass ich für jede der 17 Flaschen nochmals zwischen 0 und 1736436475832 (oder so ^^) Käufer haben kann.

In SQL hätte ich schon 'ne Idee, aber so...
Um ehrlich zu sein habe ich gerade auch nicht die Muße mir Beispieltabellen und eine Anwendung zu stricken, um das mal mit Yii zu evaluieren. Wenn du mir sowas machst und zur Verfügung stellst, werde ich es ausprobieren.

Die wichtigste Frage ist aber noch: was willst du am Ende überhaupt rauskriegen bei dieser Abfrage? Quasi alle Käufer mit der jeweiligen Flasche und dem einen Apfel, der sich darauf verteilt (im übertragenen Sinne)?
0

#5 User is offline   yii 

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

Posted 04 October 2009 - 05:17 PM

ich werde das morgen mal zusammen stricken, komplett mit SQL-STATEMENT und den Models und den Controller und dir zuschicken. thx schon mal!
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