<?php namespace App\Libs\Composers;

use TeamMemberGroup;
use TeamTemplateConfiguration;

class TeamComposer
{
    use RelatedComposerTrait;

    public function compose($view)
    {
        $data = $view->getData();
        $page = $data['object'];
        $templateData = $templateData = TeamTemplateConfiguration
            ::full()->where('entry_id', $page->id)->first();

        \DB::connection()->flushQueryLog();

        $groups = TeamMemberGroup::full()->with(array(
            'teamMembers' => function ($query) {
                $query->full()->orderBy('position')->with('photo');
            }
        ))->orderBy('position')->get();

        $this->composeRelated($view, $templateData);

        $view->with(array(
            'groups' => $groups
        ));
    }
}
