<?php

class StranasSurveyTemplate extends \Phalcon\Mvc\Model
{

    /**
     * Initialize method for model.
     */
    public function initialize()
    {
        $this->setSchema("jaga");
        $this->setSource("stranas_survey_template");
        $this->hasMany("id", "StranasSurvey", "id_survey_template");
        $this->hasManyToMany(
            "id",
            "StranasSurveyTemplateQuestion",
            "id_survey_template",
            "id_target",
            "StranasTarget",
            "id"
        );
    }

    public function getDetail()
    {
        $result = $this->toArray();

        $questions = [];
        $ukuran_keberhasilan_ids = [];

        foreach ($this->stranasTarget as $key => $question) {
            if (is_null($question->deleted_at)) {
                $questionDetail = $question->toArray();
                $questions[] = $questionDetail;
                $ukuran_keberhasilan_ids[] = $questionDetail['id'];
            }
        }
        $result['questions'] = $questions;

        $ukuran_keberhasilan_ids = array_unique($ukuran_keberhasilan_ids);

        $result['references'] = [
            'ukuran_keberhasilan_list' => []
        ];

        if (!empty($ukuran_keberhasilan_ids)) {
            $result['references']['ukuran_keberhasilan_list'] =  StranasUkuranKeberhasilan::query()
                ->inWhere('id', $ukuran_keberhasilan_ids)
                ->execute();
        }

        return $result;
    }
}
