我有两个类:Letter
和LetterFiles
(附件中的文件):
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 %>
不起作用。如何在此模板中显示附件?
答案 0 :(得分:5)
认为你只是使用了错误的关系名称,应该是Letters而不是Files:
<% loop AllLetters %>
$Sender
$SendTo
<% loop Letters %>
$ID
<% end_loop %>
<% end_loop %>