Бетон 5.8 Экспресс входной блок — Фильтровать результаты по атрибуту

Следуя документации разработчика Вот Можно ли пойти дальше и отфильтровать результаты по атрибутам объекта?

Например, скажем, у вас было несколько лодок в Marina, у которых был один и тот же владелец, и вы хотели найти только лодки этого владельца в Marina, есть ли способ дальнейшей фильтрации данных (то есть фильтрация по атрибуту BoatOwner).

После большого прочтения документации по Doctrine2 я могу понять, что это можно сделать, но я не могу понять, как расширить код C5 или какие методы я могу вызвать для этого.

<?php defined('C5_EXECUTE') or die(_("Access Denied.")); ?>
<?php

if (isset($entry) && is_object($entry)) {

$boats = $entry->getBoats();

?>

<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Year</th>
<th>Owner</th>
<th>Classification</th>
</tr>
</thead>
<tbody>
<?php if (count($boats)) {
foreach($boats as $boat) { ?>
<tr>
<td><?=$boat->getBoatName()?></td>
<td><?=$boat->getBoatYear()?></td>
<td><?=$boat->getBoatOwner()?></td>
<td><?=$boat->getBoatClass()?></td>
</tr>
<?php } ?>
<?php } else { ?>
<tr>
<td colspan="4">No boats found.</td>
</tr>
<?php } ?>
</tbody>
</table>

<?php } ?>

Выше приведен код из документации C5. Можно ли каким-то образом расширить магический метод «get», или есть более простое решение, работающее с массивом $ boats (я думаю, что это массив), чтобы выбрать только лодки с определенным значением атрибута?

0

Решение

Ответ заключался в том, чтобы поместить оператор if в цикл foreach.

if (count($boats)) {
foreach($boats as $boat) {
if($boat->getBoatOwner() == "boat owner's name here") {
?>
<tr>
<td><?=$boat->getBoatName()?></td>
<td><?=$boat->getBoatYear()?></td>
<td><?=$boat->getBoatOwner()?></td>
<td><?=$boat->getBoatClass()?></td>
</tr>

<?php;
} else {
?>

<?php;
}?><?php } ?>
<?php } else { ?>
<tr>
<td colspan="4">No boats found.</td>
</tr>
<?php } ?>
</tbody>
</table>
<?php } ?>

Я думаю, что передам имя владельца лодки как переменную, вероятно, из атрибута страницы, чтобы это имело какой-либо смысл.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]