if-Abfrage, ob Zuweisung in n:m-Relation besteht

  • 0 x
    28 Beiträge
    0 Hilfreiche Beiträge
    22. 06. 2012, 10:41

    Hallo,

    Ich sitze gerade an meiner ersten Extbase/Fluid-Extenion und frage mich, wie ich folgendes lösen kann:

    in einer Liste soll angezeigt werden, ob foo eine Relation zu bar hat, in etwa so:

    1. <f:for each="{bars}" as="bar">
    2. <f:if condition="{foo.hasBar(bar)} ">
    3. <f:then>
    4. hasBar
    5. </f:then>
    6. <f:else>
    7. has not bar
    8. </f:else>
    9. </f:if>
    10. </f:for>

    z.Z. löse ich das ganze mich geschachtelten for-Schleifen und if foo.bar == bar, hab da aber den Nachteil, dass ich keinen Weg sehe, die else Bedingung zu setzen - gesetzte thens werden durch folgende elses überschrieben.

    Eine andere Möglichkeit wäre, mittels break aus der Schleife zu springen, sobald ich in den then-Teil komme. Da habe ich aber nichts zu gefunden, gibt es das?

    Hoffe das ist verständlich
    LG
    Jan


  • 1
  • jank jank
    Sternenflotten-Admiral
    0 x
    158 Beiträge
    0 Hilfreiche Beiträge
    29. 06. 2012, 15:44

    Bei einer m:n Beziehung kannst du eigentlich auf das erste Object der Beziehung mit ".0" abfrage:

    1. <f:for each="{bars}" as="bar">
    2. <f:if condition="{bar.foos.0} ">
    3. <f:then>
    4. Mindestens 1 foo mit {bar.title} verknüpft
    5. </f:then>
    6. <f:else>
    7. KEIN foo mit {bar.title} verknüpft
    8. </f:else>
    9. </f:if>
    10. </f:for>

    Auszug Fluid Cheat Sheet 1:
    {name.number} Numeric array: Element in array [name]at position [number]

  • 1