resq/src/Entity/Hub.php

164 lines
2.9 KiB
PHP

<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
use Symfony\Component\Validator\Constraints as Assert;
use CrEOF\Spatial\PHP\Types\Geometry\Point;
use DateTime;
/**
* @ORM\Entity
* @ORM\Table(name="hub")
*/
class Hub
{
// unique id
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
// name of hub
/**
* @ORM\Column(type="string", length=80)
*/
protected $name;
// address
/**
* @ORM\Column(type="string", length=80)
*/
protected $address;
// address coordinates
/**
* @ORM\Column(type="point")
*/
protected $coordinates;
// contact numbers
// this is displayed in a textarea
/**
* @ORM\Column(type="string", length=200)
*/
protected $contact_nums;
// opening time
/**
* @ORM\Column(type="time")
*/
protected $time_open;
// closing time
/**
* @ORM\Column(type="time")
*/
protected $time_close;
// riders assigned to this hub
/**
* @ORM\OneToMany(targetEntity="Rider", mappedBy="hub")
*/
protected $riders;
// outlets under this hub
/**
* @ORM\OneToMany(targetEntity="Outlet", mappedBy="hub")
*/
protected $outlets;
public function __construct()
{
$this->riders = new ArrayCollection();
$this->time_open = new DateTime();
$this->time_close = new DateTime();
}
public function getID()
{
return $this->id;
}
public function setName($name)
{
$this->name = $name;
return $this;
}
public function getName()
{
return $this->name;
}
public function setAddress($address)
{
$this->address = $address;
return $this;
}
public function getAddress()
{
return $this->address;
}
public function setCoordinates(Point $point)
{
$this->coordinates = $point;
return $this;
}
public function getCoordinates()
{
return $this->coordinates;
}
public function setContactNumbers($nums)
{
$this->contact_nums = $nums;
return $this;
}
public function getContactNumbers()
{
return $this->contact_nums;
}
public function setTimeOpen(DateTime $time_open)
{
$this->time_open = $time_open;
return $this;
}
public function getTimeOpen()
{
return $this->time_open;
}
public function setTimeClose(DateTime $time_close)
{
$this->time_close = $time_close;
return $this;
}
public function getTimeClose()
{
return $this->time_close;
}
public function getRiders()
{
return $this->riders;
}
public function getOutlets()
{
return $this->outlets;
}
}