GroupedList в Silverstripe 4, сгруппированный по параметру many_many_extrafield - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть два объекта данных, связанных с many_many и дополнительным полем.Мой план - сгруппировать результат по дополнительному полю.Может быть, у кого-то есть идея.

class Saison extends DataObject {
    private static $db = [
    "Name"=> "Varchar(200)",
    "Jahr" => "Int(4)"
    ];

    private static $many_many = [
    "Team" => Teams::class
    ];

    private static $many_many_extraFields = [
    'Team' => [
            'Gruppe' => 'Varchar'
        ]
    ]; }

class Teams extends DataObject {

    private static $db = [
    "Name" => "Varchar(300)",
    "TeamName" => "Varchar(300)"
    ];

    private static $has_one = [
    ];

    private static $has_many = [
    ];

    private static $belongs_many_many = [
    "Saison"=>Saison::class
    ]; }

function Teams() {

    return GroupedList::create(Saison::get()->filter(array("ID" => $this->Saison()->ID)));

<% loop $Teams %>

<% loop $Team.GroupedBy(Gruppe) %>
$Gruppe<br />
<% end_loop %>

<% end_loop %> 

С этим способом я не получаю данные.

1 Ответ

0 голосов
/ 19 февраля 2019

Я нашел решение.Из-за many_many и own_many_many есть таблица Saison_Team.Я только что создал класс Saison_Team, который использует эту таблицу.Поэтому я могу использовать этот объект данных и отношения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...