Symfony иностранный ключ один-ко-многим

55
5

У меня есть две таблицы A (Utenti) e 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

спросил(а) 2011-05-23T17:04:00+04:00 8 лет, 6 месяцев назад
1
Решение
46

Вот хорошая ссылка для кода доктрины:


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


Сначала добавьте частичный файл 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 ?>

ответил(а) 2011-05-24T08:30:00+04:00 8 лет, 6 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема