внешний ключ symfony один ко многим - PullRequest
2 голосов
/ 23 мая 2011

У меня есть две таблицы A (Utenti) и B (Dispositivi);на B есть внешний ключ к A (одна Utente-> много Dispositivi).Я использовал генератор админки Symfony.Могу ли я создать ссылку для каждой Utente, в которой перечислены все связанные Dispositivi в представлении Dispositivi.Возможно ли это?

schema.yml

   Dispositivi:
  connection: doctrine
  tableName: dispositivi
  columns:
    id_dispositivo:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: true
    device_id:
      type: string(255)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    tipo:
      type: string(255)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    utente_fk:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
  relations:
    Utenti:
      local: utente_fk
      foreign: id_utente
      type: one
Utenti:
  connection: doctrine
  tableName: utenti
  columns:
    id_utente:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: true
    username:
      type: string(255)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    password:
      type: string(255)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    tipo:
      type: string(255)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
  relations:
    Dispositivi:
      local: id_utente
      foreign: utente_fk
      type: many
    Servizi:
      local: id_utente
      foreign: utente_fk
      type: many

1 Ответ

1 голос
/ 24 мая 2011

Вот хороший справочник по коду доктрины:

http://redotheweb.com/2008/07/08/comparing-propel-doctrine-and-sfpropelfinder/ (особенно если fou используются для продвижения.)

Сначала добавьте частичное в generator.ymlфайл.

Затем сделайте что-то вроде этого:

<?php
    $dispositivis = $utente->Dispositivis;
?>

<?php foreach ($dispositivis as $d): ?>
    <?php echo link_to($d->getTipo(), 'module_name/action_name?id='. $d->getIdDispositivo()) ?><br />
<?php endforeach ?>
...