<?phpnamespace App\Entity;use App\Entity\Traits\ActiveTrait;use App\Entity\Traits\DeleteTrait;use Doctrine\ORM\Mapping as ORM;use Gedmo\Mapping\Annotation as Gedmo;use Gedmo\Timestampable\Traits\TimestampableEntity;use Symfony\Component\Validator\Constraints as Assert;/** * News. * * @Gedmo\Loggable */#[ORM\Entity(repositoryClass: \App\Repository\MenuRepository::class)]#[ORM\Table(name: 'menus')]class Menu implements \Stringable{ use ActiveTrait; use DeleteTrait; use TimestampableEntity; public $menu_json; #[ORM\Column(name: 'id', type: 'integer')] #[ORM\Id] #[ORM\GeneratedValue(strategy: 'AUTO')] private int $id; #[Assert\NotBlank(message: 'The Identifier should not be blank')] #[ORM\Column(name: 'identifier', type: 'string', length: 255)] private ?string $identifier = null; #[ORM\ManyToOne(targetEntity: \App\Entity\User::class, inversedBy: 'menuupdated')] #[ORM\JoinColumn(name: 'update_by', referencedColumnName: 'id')] private ?\App\Entity\User $updatedBy = null; #[ORM\OneToMany(targetEntity: \App\Entity\MenuItems::class, mappedBy: 'menuId')] private \Doctrine\Common\Collections\Collection $menu_items; /** * Constructor. */ public function __construct() { $this->menu_items = new \Doctrine\Common\Collections\ArrayCollection(); } public function __toString(): string { return $this->getIdentifier(); } /** * Get id. * * @return int */ public function getId() { return $this->id; } /** * Set identifier. * * @param string $identifier * * @return Menu */ public function setIdentifier($identifier) { $this->identifier = $identifier; return $this; } /** * Get identifier. * * @return string */ public function getIdentifier() { return $this->identifier; } /** * Set menu_items. * * @param array $menuItems * * @return Menu */ public function setMenuItems($menuItems) { $this->menu_items = $menuItems; return $this; } /** * Get menu_items. * * @return array */ public function getMenuItems() { return $this->menu_items; } /** * Set updatedBy. * * @return Menu */ public function setUpdatedBy(User $updatedBy = null) { $this->updatedBy = $updatedBy; return $this; } /** * Get updatedBy. * * @return \App\Entity\User */ public function getUpdatedBy() { return $this->updatedBy; } /** * Add menu_items. * * @return Menu */ public function addMenuItem(MenuItems $menuItems) { $this->menu_items[] = $menuItems; return $this; } /** * Remove menu_items. */ public function removeMenuItem(MenuItems $menuItems) { $this->menu_items->removeElement($menuItems); }}