2017-07-04 5 views
0

Ich habe zwei Klassen: Letter und LetterFiles (hängten Dateien auf den Brief):Wie has_many in Vorlage rendern?

class Letter extends DataObject { 
    private static $db = array(
     'Sender' => 'Text', 
     'SendTo' => 'Text', 
     ... 
    ); 

    private static $has_many = array(
     'Letters' => 'LetterFiles' 
    ); 
    ... 
} 

class LetterFiles extends File { 
    private static $has_one = array(
     'Files' => 'Letter' 
    ); 
    ... 
} 

Ich möchte alle Briefe zeigen und alle angehängten Dateien auf LetterPage:

class LetterPage extends Page { 
} 

class LetterPage_Controller extends Page_Controller { 
    public function index() { 
     $letters = Letter::get()->sort('DateUpload'); 
     return array(
      'AllLetters' => $letters 
     ); 
    } 
} 

Ich versuche Vorlage zu verwenden LetterPage.ss:

<% loop $AllLetters %> 
     <tr> 
      ... 
      <td>$Sender</td> 
      <td>$SendTo</td> 
      <td>$Theme</td> 
      <td> 
        <% loop $Files %> 
         $Name 
        <% end_loop %> 
      </td> 
     </tr> 
    <% end_loop %> 

Aber <% loop $Files %> funktioniert nicht. Wie können angehängte Dateien in dieser Vorlage angezeigt werden?

Antwort

5

Denken Sie nur die falsche Beziehung Namen verwenden, sollten Buchstaben und nicht Dateien sein:

<% loop AllLetters %> 
    $Sender 
    $SendTo 
    <% loop Letters %> 
     $ID 
    <% end_loop %> 
<% end_loop %> 
+0

Ja! Es klappt. Danke Robbie! – alex

+0

Ich bin kein Robbie, aber gern geschehen;) (und danke Robbie für die Bearbeitung) – Lorentz

+0

Sorry, danke Lorentz! Ihre Hilfe ist sehr wichtig für mich. – alex

Verwandte Themen