<?phpnamespace DcSiteBundle\Entity;use Doctrine\Common\Collections\ArrayCollection;use CoreBundle\Entity\Dealer;use Application\Sonata\MediaBundle\Entity\Media;use Doctrine\Common\Collections\Collection;/** * ServiceWorkGroup */class ServiceWorkGroup{    /**     * @var integer     */    private $id;    /**     * @var string     */    private $title_ru;    /**     * @var string     */    private $title_ua;    /**     * @var Media     */    private $image;    /**     * @var string     */    private $image_hash;    /**     * @var string     */    private $uid;    public function __toString()    {        return $this->getTitleRu();    }    /**     * Get id     *     * @return integer     */    public function getId()    {        return $this->id;    }    public function getTitle($locale)    {        return $locale == 'ru' ? $this->getTitleRu() : $this->getTitleUa();    }    /**     * Set titleRu     *     * @param string $titleRu     *     * @return ServiceWorkGroup     */    public function setTitleRu($titleRu)    {        $this->title_ru = $titleRu;        return $this;    }    /**     * Get titleRu     *     * @return string     */    public function getTitleRu()    {        return $this->title_ru;    }    /**     * Set titleUa     *     * @param string $titleUa     *     * @return ServiceWorkGroup     */    public function setTitleUa($titleUa)    {        $this->title_ua = $titleUa;        return $this;    }    /**     * Get titleUa     *     * @return string     */    public function getTitleUa()    {        return $this->title_ua;    }    /**     * Set uid     *     * @param string $uid     *     * @return ServiceWorkGroup     */    public function setUid($uid)    {        $this->uid = $uid;        return $this;    }    /**     * Get uid     *     * @return string     */    public function getUid()    {        return $this->uid;    }        /**     * @var integer     */    private $position;    /**     * Set position     *     * @param integer $position     *     * @return ServiceWorkGroup     */    public function setPosition($position)    {        $this->position = $position;        return $this;    }    /**     * Get position     *     * @return integer     */    public function getPosition()    {        return $this->position;    }    /**     * @var \DcSiteBundle\Entity\ServiceWorkGroup     */    private $parent;    /**     * Set parent     *     * @param \DcSiteBundle\Entity\ServiceWorkGroup $parent     *     * @return ServiceWorkGroup     */    public function setParent(\DcSiteBundle\Entity\ServiceWorkGroup $parent = null)    {        $this->parent = $parent;        return $this;    }    /**     * Get parent     *     * @return \DcSiteBundle\Entity\ServiceWorkGroup     */    public function getParent()    {        return $this->parent;    }    public function getParentNodes(ServiceWorkGroup $node = null, $parents = []): array    {        $node = ($node) ?: $this;        if (null !== $node->getParent()) {            /** @var ServiceWorkGroup $parent */            $parent = $node->getParent();            $parents[] = $parent;            return $parent->getParentNodes($parent, $parents);        }        return $parents;    }    /**     * @var string     */    private $parent_uid;    /**     * @var Collection     */    private $child;    /**     * Constructor     */    public function __construct()    {        $this->child = new ArrayCollection();    }    /**     * Set parentUid     *     * @param string $parentUid     *     * @return ServiceWorkGroup     */    public function setParentUid($parentUid)    {        $this->parent_uid = $parentUid;        return $this;    }    /**     * Get parentUid     *     * @return string     */    public function getParentUid()    {        return $this->parent_uid;    }    /**     * Add child     *     * @param \DcSiteBundle\Entity\ServiceWorkGroup $child     *     * @return ServiceWorkGroup     */    public function addChild(\DcSiteBundle\Entity\ServiceWorkGroup $child)    {        $this->child[] = $child;        return $this;    }    /**     * Remove child     *     * @param \DcSiteBundle\Entity\ServiceWorkGroup $child     */    public function removeChild(\DcSiteBundle\Entity\ServiceWorkGroup $child)    {        $this->child->removeElement($child);    }    /**     * Get child     *     * @return Collection     */    public function getChild()    {        return $this->child;    }    /**     * @var string     */    private $url;    /**     * Set url     *     * @param string $url     *     * @return ServiceWorkGroup     */    public function setUrl($url)    {        $this->url = $url;        return $this;    }    /**     * Get url     *     * @return string     */    public function getUrl()    {        return $this->url;    }    /**     * @var Collection     */    private $works;    /**     * Add work     *     * @param ServiceWork $work     *     * @return ServiceWorkGroup     */    public function addWork(ServiceWork $work)    {        $this->works[] = $work;        return $this;    }    /**     * Remove work     *     * @param ServiceWork $work     */    public function removeWork(ServiceWork $work)    {        $this->works->removeElement($work);    }    /**     * Get works     *     * @return Collection     */    public function getWorks()    {        return $this->works;    }    /**     * @var Dealer     */    private $dealer;    /**     * Set dealer     *     * @param Dealer $dealer     *     * @return ServiceWorkGroup     */    public function setDealer(Dealer $dealer = null)    {        $this->dealer = $dealer;        return $this;    }    /**     * Get dealer     *     * @return Dealer     */    public function getDealer()    {        return $this->dealer;    }    /**     * Set image     *     * @param Media $image     *     * @return ServiceWorkGroup     */    public function setImage(Media $image = null)    {        $this->image = $image;        return $this;    }    /**     * Get image     *     * @return Media     */    public function getImage()    {        return $this->image;    }    /**     * Set imageHash     *     * @param string $imageHash     *     * @return ServiceWorkGroup     */    public function setImageHash($imageHash)    {        $this->image_hash = $imageHash;        return $this;    }    /**     * Get imageHash     *     * @return string     */    public function getImageHash()    {        return $this->image_hash;    }}