Reputation: 307
I have two classes : Letter
and LetterFiles
(attached files to the letter):
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'
);
...
}
I want to show all letters and all attached files on LetterPage
:
class LetterPage extends Page {
}
class LetterPage_Controller extends Page_Controller {
public function index() {
$letters = Letter::get()->sort('DateUpload');
return array(
'AllLetters' => $letters
);
}
}
I try to use template LetterPage.ss
:
<% loop $AllLetters %>
<tr>
...
<td>$Sender</td>
<td>$SendTo</td>
<td>$Theme</td>
<td>
<% loop $Files %>
$Name
<% end_loop %>
</td>
</tr>
<% end_loop %>
But <% loop $Files %>
doesn't work. How to show attached files in this template?
Upvotes: 0
Views: 71
Reputation: 691
Think you're just using the wrong relation name, should be Letters and not Files:
<% loop AllLetters %>
$Sender
$SendTo
<% loop Letters %>
$ID
<% end_loop %>
<% end_loop %>
Upvotes: 5