type: integer
options:
unsigned: true
- language_id:
- type: smallint
- options:
- unsigned: true
+ locale:
+ type: string
+ length: 5
fields:
+ body:
+ type: text
+ nullable: true
+ description:
+ type: text
+ nullable: true
slug:
type: string
length: 128
+ nullable: true
title:
type: string
length: 128
- description:
- type: text
- body:
- type: text
+ nullable: true
created:
type: datetime
updated:
article:
targetEntity: Rapsys\BlogBundle\Entity\Article
inversedBy: article_translations
- language:
- targetEntity: Rapsys\BlogBundle\Entity\Language
- inversedBy: article_translations
+ joinColumn:
+ nullable: false
uniqueConstraints:
- slug_language:
- columns: [ slug, language_id ]
+ locale_slug:
+ columns: [ locale, slug ]
+ lifecycleCallbacks:
+ preUpdate: ['preUpdate']