<?php

class DiskusiLike extends \Phalcon\Mvc\Model
{

    /**
     *
     * @var integer
     */
    public $id;

    /**
     *
     * @var integer
     */
    public $user_id;

    /**
     *
     * @var integer
     */
    public $tenant_id;

    /**
     *
     * @var integer
     */
    public $diskusi_id;

    /**
     *
     * @var string
     */
    public $created_at;

    /**
     * Initialize method for model.
     */
    public function initialize()
    {
        $this->setSchema("jaga");
        $this->setSource("diskusi_like");
        $this->belongsTo('diskusi_id', '\Diskusi', 'id', ['alias' => 'diskusi']);
        $this->belongsTo('user_id', '\UmUser', 'um_id', ['alias' => 'umUser']);
    }

    /**
     * Returns table name mapped in the model.
     *
     * @return string
     */
    public function getSource()
    {
        return 'diskusi_like';
    }

    /**
     * Allows to query a set of records that match the specified conditions
     *
     * @param mixed $parameters
     * @return DiskusiLike[]|DiskusiLike|\Phalcon\Mvc\Model\ResultSetInterface
     */
    public static function find($parameters = null)
    {
        return parent::find($parameters);
    }

    /**
     * Allows to query the first record that match the specified conditions
     *
     * @param mixed $parameters
     * @return DiskusiLike|\Phalcon\Mvc\Model\ResultInterface
     */
    public static function findFirst($parameters = null)
    {
        return parent::findFirst($parameters);
    }

    public function toArrayWithUser()
    {
        $result = $this->toArray(['id']);
        /** @var UmUser $user */
        $user = $this->umUser;

        if (!empty($user)) {
            $result['user'] = $user->toArraySimpleWithFoto();
        }

        return $result;
    }
}
