use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
+use JMS\Serializer\Annotation\ExclusionPolicy;
+use JMS\Serializer\Annotation\Expose;
/**
* @ORM\Entity()
* @ORM\Table(name="Person", indexes={@ORM\Index(name="authentification_idx", columns={"email", "password"}),
- * @ORM\Index(name="search_idx", columns={"firstname", "lastname"})});
+ * @ORM\Index(name="search_idx", columns={"firstname", "lastname", "email"})});
+ * The following annotations tells the serializer to skip all properties which
+ * have not marked with @Expose.
+ *
+ * @ExclusionPolicy("all")
*/
class Person
{
* @ORM\Id
* @ORM\Column(type="bigint")
* @ORM\GeneratedValue(strategy="AUTO")
+ * @Expose
*/
protected $id;
/**
* @ORM\Column(type="string")
+ * @Expose
*/
protected $firstname;
/**
* @ORM\Column(type="string")
+ * @Expose
*/
protected $lastname;
/**
* @ORM\Column(type="string", unique=true)
+ * @Expose
*/
protected $email;
/**
* @ORM\Column(type="string")
+ * @Expose
*/
protected $password;
/**
* @ORM\Column(type="boolean", options={"default":false})
+ * @Expose
*/
protected $online;