* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) */ namespace PrestaShop\Module\ProductComment\Entity; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Table() * @ORM\Entity() */ class ProductComment { const TITLE_MAX_LENGTH = 64; const CUSTOMER_NAME_MAX_LENGTH = 64; /** * @var int * * @ORM\Id * @ORM\Column(name="id_product_comment", type="integer") * @ORM\GeneratedValue(strategy="AUTO") */ private $id; /** * @var int * * @ORM\Column(name="id_product", type="integer") */ private $productId; /** * @var int * * @ORM\Column(name="id_customer", type="integer") */ private $customerId; /** * @var int * * @ORM\Column(name="id_guest", type="integer") */ private $guestId; /** * @var string * * @ORM\Column(name="customer_name", type="string", length=64) */ private $customerName; /** * @var string * * @ORM\Column(name="title", type="string", length=64) */ private $title; /** * @var string * * @ORM\Column(name="content", type="text") */ private $content; /** * @var int * * @ORM\Column(name="grade", type="integer") */ private $grade; /** * @var bool * * @ORM\Column(name="validate", type="boolean") */ private $validate = false; /** * @var bool * * @ORM\Column(name="deleted", type="boolean") */ private $deleted = false; /** * @var \DateTime * * @ORM\Column(name="date_add", type="datetime") */ private $dateAdd; /** * @return int */ public function getId() { return $this->id; } /** * @return int */ public function getProductId() { return $this->productId; } /** * @param int $productId * * @return ProductComment */ public function setProductId($productId) { $this->productId = $productId; return $this; } /** * @return int */ public function getCustomerId() { return $this->customerId; } /** * @param int $customerId * * @return ProductComment */ public function setCustomerId($customerId) { $this->customerId = $customerId; return $this; } /** * @return int */ public function getGuestId() { return $this->guestId; } /** * @param int $guestId * * @return ProductComment */ public function setGuestId($guestId) { $this->guestId = $guestId; return $this; } /** * @return string */ public function getCustomerName() { return $this->customerName; } /** * @param string $customerName * * @return ProductComment */ public function setCustomerName($customerName) { $this->customerName = $customerName; return $this; } /** * @return string */ public function getTitle() { return $this->title; } /** * @param string $title * * @return ProductComment */ public function setTitle($title) { $this->title = $title; return $this; } /** * @return string */ public function getContent() { return $this->content; } /** * @param string $content * * @return ProductComment */ public function setContent($content) { $this->content = $content; return $this; } /** * @return int */ public function getGrade() { return $this->grade; } /** * @param int $grade * * @return ProductComment */ public function setGrade($grade) { $this->grade = $grade; return $this; } /** * @return bool */ public function isValidate() { return $this->validate; } /** * @param bool $validate * * @return ProductComment */ public function setValidate($validate) { $this->validate = $validate; return $this; } /** * @return bool */ public function isDeleted() { return $this->deleted; } /** * @param bool $deleted * * @return ProductComment */ public function setDeleted($deleted) { $this->deleted = $deleted; return $this; } /** * @return \DateTime */ public function getDateAdd() { return $this->dateAdd; } /** * Date is stored in UTC timezone * * @param \DateTime $dateAdd * * @return ProductComment */ public function setDateAdd($dateAdd) { $this->dateAdd = $dateAdd; return $this; } /** * @return array */ public function toArray() { return [ 'id_product' => $this->getProductId(), 'id_product_comment' => $this->getId(), 'title' => $this->getTitle(), 'content' => $this->getContent(), 'customer_name' => $this->getCustomerName(), 'date_add' => $this->dateAdd->format(\DateTime::ATOM), 'grade' => $this->grade, 'usefulness' => 3, 'total_usefulness' => 5, ]; } }