Ne birden fazla dil olması için Doktrin iyi bir desen

1 Cevap php

Ben ancak sistemde yer alan verilerin bir parçası olan tarihlerde, ints ve gibi çevrilebilir değil, birden fazla dilde içerik bulunuyor sunan bir sistem sahip oluşur bu bir meydan okuma var.

Ben şu YAML bir içerik varsa demek

Corporativos:
  columns:
    nombre:
      type: string(254)
      notnull: true
    telefonos:
      type: string(500)
    email:
      type: string(254)
    webpage:
      type: string(254)
CorporativosLang:
  columns:
    corporativo_id:
      type: integer(8)
      notnull: true
    lang:
      type: string(16)
      fixed: false
    ubicacion:
      type: string()
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    contacto:
      type: string()
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    tipo_de_hoteles:
      type: string(254)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    paises:
      type: string()
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
  relations:
    Corporativo:
      class: Corporativos
      local: corporativo_id
      foreign: id
      type: one
      foreignAlias: Data

Ancak bu corp yeri, temas ve diğer şeyler farklı bir dilde (lang) tercüme edilebilir, bana farklı kurumsal ofisleri var sağlayacak

Şimdi burada bu kod bana 2 çevirileri ile yepyeni bir kurumsal ofis yaratacak

    $corporativo = new Corporativos();

    $corporativo->nombre = 'Duck Corp';
    $corporativo->telefonos = '66303713333';
    $corporativo->email = 'duck@corp.com';
    $corporativo->webpage = 'http://quack.com';

    $corporativo->Data[0]->lang = 'en';
    $corporativo->Data[0]->ubicacion = 'zomg';

    $corporativo->Data[1]->lang = 'es';
    $corporativo->Data[1]->ubicacion = 'zomg amigou';

şey şimdi ben ingilizce benim Corporative bilgi erişmek isterseniz ben belirli için corp ve sonra başka DQL için DQL çalıştırmak zorunda istiyorum çünkü ben, bir daha kolay bir şekilde bu verileri almak için nasıl bilmiyorum ingilizce çeviri,

Ne yapmak isterdim kök benim çevrilebilir alanları bulunur yani ben sadece onlara erişebilir

    $corporativo = new Corporativos();

    $corporativo->nombre = 'Duck Corp';
    $corporativo->telefonos = '66303713333';
    $corporativo->email = 'duck@corp.com';
    $corporativo->webpage = 'http://quack.com';
            $corporativo->lang = 'en';
    $corporativo->ubicacion = 'zomg';

bu şekilde çevrilebilir alanları otomatik olarak ikinci tabloya eşleştirilir.

Ben açık benim kendini açıklayabilir umut: (

herhangi bir öneriniz?