Skip to content

Instantly share code, notes, and snippets.

@radoslavius
Created December 15, 2016 21:02
Show Gist options
  • Save radoslavius/8057398c3867f90eaa0a85e6cfa84c6f to your computer and use it in GitHub Desktop.
Save radoslavius/8057398c3867f90eaa0a85e6cfa84c6f to your computer and use it in GitHub Desktop.
<?php
//v entite Order mam status takto
/**
* @var OrderStatus
*
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\OrderStatus", inversedBy="orders", fetch="EXTRA_LAZY")
* @Serializer\Expose()
*/
private $status;
<?php
//samotna entita se statusem vypada takto
/**
* Order status
*
* @ORM\Table()
* @ORM\Entity
* @Serializer\ExclusionPolicy("all")
*/
class OrderStatus
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="code", type="string", length=100, nullable=true)
* @Serializer\Expose()
*/
private $code;
/**
* @var string
*
* @ORM\Column(name="message", type="string", length=1000, nullable=true)
* @Serializer\Expose()
*/
private $message;
/**
* @var integer
* @ORM\Column(name="weight", type="smallint")
*/
private $weight;
/**
* @var Collection
* @ORM\ManyToMany(targetEntity="OrderStatus", mappedBy="nextStatuses")
*/
private $prevStatuses;
/**
* @var Collection
* @ORM\ManyToMany(targetEntity="OrderStatus", inversedBy="prevStatuses")
* @ORM\JoinTable(name="order_status_next_statuses",
* joinColumns={@ORM\JoinColumn(name="prev_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="next_id", referencedColumnName="id")}
* )
* @ORM\OrderBy({"weight" = "ASC"})
* @Serializer\Expose()
*/
private $nextStatuses;
/**
* @var ArrayCollection
*
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Order", mappedBy="status", fetch="EXTRA_LAZY")
*/
private $orders;
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment