app/Plugin/ProductReview42/Entity/ProductReview.php line 29

Open in your IDE?
  1. <?php
  2. /*
  3.  * This file is part of EC-CUBE
  4.  *
  5.  * Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  6.  *
  7.  * http://www.ec-cube.co.jp/
  8.  *
  9.  * For the full copyright and license information, please view the LICENSE
  10.  * file that was distributed with this source code.
  11.  */
  12. namespace Plugin\ProductReview42\Entity;
  13. use Doctrine\ORM\EntityManagerInterface;
  14. use Doctrine\ORM\Mapping as ORM;
  15. use Eccube\Entity\AbstractEntity;
  16. use Eccube\Entity\Customer;
  17. use Eccube\Entity\Master\Sex;
  18. use Eccube\Entity\Product;
  19. /**
  20.  * ProductReview
  21.  *
  22.  * @ORM\Table(name="plg_product_review")
  23.  * @ORM\Entity(repositoryClass="Plugin\ProductReview42\Repository\ProductReviewRepository")
  24.  */
  25. class ProductReview extends AbstractEntity
  26. {
  27.     /**
  28.      * @var int
  29.      *
  30.      * @ORM\Column(name="id", type="integer", options={"unsigned":true})
  31.      * @ORM\Id
  32.      * @ORM\GeneratedValue(strategy="IDENTITY")
  33.      */
  34.     private $id;
  35.     /**
  36.      * @var string
  37.      *
  38.      * @ORM\Column(name="reviewer_name", type="string")
  39.      */
  40.     private $reviewer_name;
  41.     /**
  42.      * @var string
  43.      *
  44.      * @ORM\Column(name="reviewer_url", type="text", nullable=true)
  45.      */
  46.     private $reviewer_url;
  47.     /**
  48.      * @var string
  49.      *
  50.      * @ORM\Column(name="title", type="string", length=50, nullable=true)
  51.      */
  52.     private $title;
  53.     /**
  54.      * @var string
  55.      *
  56.      * @ORM\Column(name="comment", type="text")
  57.      */
  58.     private $comment;
  59.     /**
  60.      * @var Sex
  61.      *
  62.      * @ORM\ManyToOne(targetEntity="Eccube\Entity\Master\Sex")
  63.      * @ORM\JoinColumns({
  64.      *   @ORM\JoinColumn(name="sex_id", referencedColumnName="id")
  65.      * })
  66.      */
  67.     private $Sex;
  68.     /**
  69.      * @var int
  70.      *
  71.      * @ORM\Column(name="recommend_level", type="smallint")
  72.      */
  73.     private $recommend_level;
  74.     /**
  75.      * @var Product
  76.      *
  77.      * @ORM\ManyToOne(targetEntity="Eccube\Entity\Product")
  78.      * @ORM\JoinColumns({
  79.      *   @ORM\JoinColumn(name="product_id", referencedColumnName="id")
  80.      * })
  81.      */
  82.     private $Product;
  83.     /**
  84.      * @var Customer
  85.      *
  86.      * @ORM\ManyToOne(targetEntity="Eccube\Entity\Customer")
  87.      * @ORM\JoinColumns({
  88.      *   @ORM\JoinColumn(name="customer_id", referencedColumnName="id")
  89.      * })
  90.      */
  91.     private $Customer;
  92.     /**
  93.      * @var \DateTime
  94.      *
  95.      * @ORM\Column(name="create_date", type="datetimetz")
  96.      */
  97.     private $create_date;
  98.     /**
  99.      * @var \DateTime
  100.      *
  101.      * @ORM\Column(name="update_date", type="datetimetz")
  102.      */
  103.     private $update_date;
  104.     /**
  105.      * @var \Plugin\ProductReview42\Entity\ProductReviewStatus
  106.      *
  107.      * @ORM\ManyToOne(targetEntity="Plugin\ProductReview42\Entity\ProductReviewStatus")
  108.      * @ORM\JoinColumns({
  109.      *   @ORM\JoinColumn(name="status_id", referencedColumnName="id")
  110.      * })
  111.      */
  112.     private $Status;
  113.     /**
  114.      * @var string
  115.      *
  116.      * @ORM\Column(name="star", type="smallint")
  117.      */
  118.     private $star;
  119.     /**
  120.      * @var string
  121.      *
  122.      * @ORM\Column(name="address", type="string", length=200)
  123.      */
  124.     private $address;
  125.     /**
  126.      * @var string
  127.      *
  128.      * @ORM\Column(name="age", type="string", length=50)
  129.      */
  130.     private $age;
  131.     /**
  132.      * Get id.
  133.      *
  134.      * @return int
  135.      */
  136.     public function getId()
  137.     {
  138.         return $this->id;
  139.     }
  140.     /**
  141.      * Get reviewer_name.
  142.      *
  143.      * @return string
  144.      */
  145.     public function getReviewerName()
  146.     {
  147.         return $this->reviewer_name;
  148.     }
  149.     /**
  150.      * Set reviewer_name.
  151.      *
  152.      * @param string $reviewer_name
  153.      *
  154.      * @return ProductReview
  155.      */
  156.     public function setReviewerName($reviewer_name)
  157.     {
  158.         $this->reviewer_name $reviewer_name;
  159.         return $this;
  160.     }
  161.     /**
  162.      * Get reviewer_url.
  163.      *
  164.      * @return string
  165.      */
  166.     public function getReviewerUrl()
  167.     {
  168.         return $this->reviewer_url;
  169.     }
  170.     /**
  171.      * Set reviewer_url.
  172.      *
  173.      * @param string $reviewer_url
  174.      *
  175.      * @return ProductReview
  176.      */
  177.     public function setReviewerUrl($reviewer_url)
  178.     {
  179.         $this->reviewer_url $reviewer_url;
  180.         return $this;
  181.     }
  182.     /**
  183.      * Get recommend_level.
  184.      *
  185.      * @return int
  186.      */
  187.     public function getRecommendLevel()
  188.     {
  189.         return $this->recommend_level;
  190.     }
  191.     /**
  192.      * Set recommend_level.
  193.      *
  194.      * @param int $recommend_level
  195.      *
  196.      * @return ProductReview
  197.      */
  198.     public function setRecommendLevel($recommend_level)
  199.     {
  200.         $this->recommend_level $recommend_level;
  201.         return $this;
  202.     }
  203.     /**
  204.      * Set Sex.
  205.      *
  206.      * @param Sex $Sex
  207.      *
  208.      * @return ProductReview
  209.      */
  210.     public function setSex(Sex $Sex null)
  211.     {
  212.         $this->Sex $Sex;
  213.         return $this;
  214.     }
  215.     /**
  216.      * Get Sex.
  217.      *
  218.      * @return Sex
  219.      */
  220.     public function getSex()
  221.     {
  222.         return $this->Sex;
  223.     }
  224.     /**
  225.      * Get title.
  226.      *
  227.      * @return string
  228.      */
  229.     public function getTitle()
  230.     {
  231.         return $this->title;
  232.     }
  233.     /**
  234.      * Set title.
  235.      *
  236.      * @param string $title
  237.      *
  238.      * @return ProductReview
  239.      */
  240.     public function setTitle($title)
  241.     {
  242.         $this->title $title;
  243.         return $this;
  244.     }
  245.     /**
  246.      * Get comment.
  247.      *
  248.      * @return string
  249.      */
  250.     public function getComment()
  251.     {
  252.         return $this->comment;
  253.     }
  254.     /**
  255.      * Set comment.
  256.      *
  257.      * @param string $comment
  258.      *
  259.      * @return ProductReview
  260.      */
  261.     public function setComment($comment)
  262.     {
  263.         $this->comment $comment;
  264.         return $this;
  265.     }
  266.     /**
  267.      * Set Product.
  268.      *
  269.      * @param Product $Product
  270.      *
  271.      * @return $this
  272.      */
  273.     public function setProduct(Product $Product)
  274.     {
  275.         $this->Product $Product;
  276.         return $this;
  277.     }
  278.     /**
  279.      * Get Product.
  280.      *
  281.      * @return Product
  282.      */
  283.     public function getProduct()
  284.     {
  285.         return $this->Product;
  286.     }
  287.     /**
  288.      * Set Customer.
  289.      *
  290.      * @param Customer $Customer
  291.      *
  292.      * @return $this
  293.      */
  294.     public function setCustomer(Customer $Customer)
  295.     {
  296.         $this->Customer $Customer;
  297.         return $this;
  298.     }
  299.     /**
  300.      * Get Customer.
  301.      *
  302.      * @return Customer
  303.      */
  304.     public function getCustomer()
  305.     {
  306.         return $this->Customer;
  307.     }
  308.     /**
  309.      * @return \Plugin\ProductReview42\Entity\ProductReviewStatus
  310.      */
  311.     public function getStatus()
  312.     {
  313.         return $this->Status;
  314.     }
  315.     /**
  316.      * @param \Plugin\ProductReview42\Entity\ProductReviewStatus $status
  317.      */
  318.     public function setStatus(\Plugin\ProductReview42\Entity\ProductReviewStatus $Status)
  319.     {
  320.         $this->Status $Status;
  321.     }
  322.     /**
  323.      * Set create_date.
  324.      *
  325.      * @param \DateTime $createDate
  326.      *
  327.      * @return $this
  328.      */
  329.     public function setCreateDate($createDate)
  330.     {
  331.         $this->create_date $createDate;
  332.         return $this;
  333.     }
  334.     /**
  335.      * Get create_date.
  336.      *
  337.      * @return \DateTime
  338.      */
  339.     public function getCreateDate()
  340.     {
  341.         return $this->create_date;
  342.     }
  343.     /**
  344.      * Set update_date.
  345.      *
  346.      * @param \DateTime $updateDate
  347.      *
  348.      * @return $this
  349.      */
  350.     public function setUpdateDate($updateDate)
  351.     {
  352.         $this->update_date $updateDate;
  353.         return $this;
  354.     }
  355.     /**
  356.      * Get update_date.
  357.      *
  358.      * @return \DateTime
  359.      */
  360.     public function getUpdateDate()
  361.     {
  362.         return $this->update_date;
  363.     }
  364.     /**
  365.      * Get star.
  366.      *
  367.      * @return int
  368.      */
  369.     public function getStar()
  370.     {
  371.         return $this->star;
  372.     }
  373.     /**
  374.      * Set star.
  375.      *
  376.      * @param int $star
  377.      *
  378.      * @return ProductReview
  379.      */
  380.     public function setStar($star)
  381.     {
  382.         $this->star $star;
  383.         return $this;
  384.     }
  385.     /**
  386.      * Get address.
  387.      *
  388.      * @return int
  389.      */
  390.     public function getAddress()
  391.     {
  392.         return $this->address;
  393.     }
  394.     /**
  395.      * Set address.
  396.      *
  397.      * @param int $address
  398.      *
  399.      * @return ProductReview
  400.      */
  401.     public function setAddress($address)
  402.     {
  403.         $this->address $address;
  404.         return $this;
  405.     }
  406.     /**
  407.      * Get age.
  408.      *
  409.      * @return int
  410.      */
  411.     public function getAge()
  412.     {
  413.         return $this->age;
  414.     }
  415.     /**
  416.      * Set age.
  417.      *
  418.      * @param int $age
  419.      *
  420.      * @return ProductReview
  421.      */
  422.     public function setAge($age)
  423.     {
  424.         $this->age $age;
  425.         return $this;
  426.     }
  427.     public function setData(?array $dataEntityManagerInterface $entityManager): self
  428.     {
  429.         if (isset($data['Sex'])) {
  430.             $sexRepository $entityManager->getRepository(Sex::class);
  431.             $sex $sexRepository->find($data['Sex']);
  432.             if (!$sex) {
  433.                 throw new \Exception("value does not exist");
  434.             }
  435.             $this->setSex($sex);
  436.         }
  437.         if (isset($data['Product'])) {
  438.             $productRepository $entityManager->getRepository(Product::class);
  439.             $product $productRepository->find($data['Product']);
  440.             if (!$product) {
  441.                 throw new \Exception("value does not exist");
  442.             }
  443.             $this->setProduct($product);
  444.         }
  445.         if (isset($data['Status'])) {
  446.             $statusRepository $entityManager->getRepository(ProductReviewStatus::class);
  447.             $status $statusRepository->find($data['Status']);
  448.             if (!$status) {
  449.                 throw new \Exception("value does not exist");
  450.             }
  451.             $this->setStatus($status);
  452.         }
  453.         $this->reviewer_name $data['reviewer_name'] ?? null;
  454.         $this->title $data['title'] ?? null;
  455.         $this->comment $data['comment'] ?? null;
  456.         $this->recommend_level $data['recommend_level'] ?? null;
  457.         $this->star $data['star'] ?? null;
  458.         $this->address $data['address'] ?? null;
  459.         $this->age $data['age'] ?? null;
  460.         return $this;
  461.     }
  462. }