strip_tags remove ent_quotes ejemplo php mysql doctrine2

php - remove - strip_tags()



Doctrina y claves Ășnicas compuestas (3)

Quiero hacer clave única compuesta en doctrina. Esos son mis campos:

/** * @var string $videoDimension * * @Column(name="video_dimension", type="string", nullable=false) */ private $videoDimension; /** * @var string $videoBitrate * * @Column(name="video_bitrate", type="string", nullable=false) */ private $videoBitrate;

¿Cómo puedo mostrar la doctrina, que aquellos combinados juntos son una clave única compuesta?


Me parece más detallado use ORM y luego prefijo ORM en las anotaciones. También tenga en cuenta que puede dividir la anotación en varias líneas para que sea más legible, especialmente si tiene varios elementos para mencionar (indexe en el ejemplo a continuación).

use Doctrine/ORM/Mapping as ORM; /** * VideoSettings * * @ORM/Cache(usage="NONSTRICT_READ_WRITE") * @ORM/Entity(repositoryClass="AppBundle/Repository/VideoSettingsRepository") * @ORM/Table(name="emails", uniqueConstraints={ * @ORM/UniqueConstraint(name="dimension_bitrate", columns={"video_dimension", "video_bitrate"}) * }, indexes={ * @ORM/Index(name="name", columns={"nane"}) * }) */ class VideoSettings


Responde la pregunta

use Doctrine/ORM/Mapping/UniqueConstraint; /** * Common/Model/Entity/VideoSettings * * @Table(name="video_settings", * uniqueConstraints={ * @UniqueConstraint(name="video_unique", * columns={"video_dimension", "video_bitrate"}) * } * ) * @Entity */

Ver @UniqueConstraint


Sé que esta es una pregunta antigua, pero me encontré con ella mientras buscaba una manera de crear PK compuesto y pensé que podría usar alguna actualización.

Las cosas son mucho más simples si lo que necesitas es una clave primaria compuesta. (Lo que, por supuesto, garantiza la exclusividad) La documentación de Doctrine contiene algunos buenos ejemplos en esta url: http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/tutorials/composite-primary-keys.html

Entonces, el ejemplo original podría verse más o menos así:

/** * @var string $videoDimension * * @ORM/Id @ORM/Column(type="string") */ private $videoDimension; /** * @var string $videoBitrate * * @ORM/Id @ORM/Column(type="string") */ private $videoBitrate;

Algunas notas aquí:

  1. El "nombre" de columna se omite porque Doctrine puede adivinarlo en función del nombre de la propiedad
  2. Dado que videoDimension y videoBitrate son partes del PK, no es necesario especificar nullable = false
  3. Si es necesario, el Composite PK puede estar compuesto por claves externas, así que no dude en agregar algunas asignaciones relacionales