2017-07-04 65 views
0

我有兩個類:LetterLetterFiles(附加文件的盤符):如何在模板中渲染has_many?

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' 
    ); 
    ... 
} 

我想顯示在LetterPage所有字母和所有附加的文件:

class LetterPage extends Page { 
} 

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

我嘗試使用模板LetterPage.ss

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

<% loop $Files %>不起作用。如何在此模板中顯示附加文件?

回答

5

想想你只是使用了錯誤的關係的名字,應該是字母,而不是文件:

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

是的!有用。謝謝羅比! – alex

+0

我不是羅比,但不客氣;)(並感謝羅比的編輯) – Lorentz

+0

對不起,謝謝洛倫茲!你的幫助對我來說非常重要。 – alex