Вопрос

У меня есть схема базы данных в симфонии, как это:

Persona:
    actAs: { Timestampable: ~ }
    columns:
      primer_nombre:  { type: string(255), notnull: true }
      segundo_nombre: { type: string(255) }
      apellido:   { type: string(255), notnull: true }
      rut:         { type: string(255) }
      email:       { type: string(255) }
      email2:      { type: string(255) } 
      direccion:     { type: string(400) }
      ciudad:        { type: string(255) }
      region:      { type: string(255) }
      pais:     { type: string(255) }
      telefono:       { type: string(255) }
      telefono2:      { type: string(255) }
      fecha_nacimiento:   { type: date }

Alumno:
 inheritance:
    type:          concrete
    extends:       Persona
 columns:
  comentario:  { type: string(255) }
  estado_pago: { type: string(255) }

Alumno_Beca:
 columns:
  persona_id:   { type: integer, primary: true }
  beca_id: { type: integer, primary: true }
 relations:
  Alumno: { onDelete: CASCADE, local: persona_id, foreign: id } 
  Beca: { onDelete: CASCADE, local: beca_id, foreign: id } 

Beca:
 columns:
  nombre:        { type: string(255) }
  monto:      { type: double }
  porcentaje:  { type: double }
  descripcion: { type: string(5000) }

Как видите, «выпускно» имеет конкретное наследование от «Персона». Теперь я пытаюсь создать приспособления для этих двух таблиц, и я не могу сделать доктрину, чтобы загрузить их. Это дает мне эту ошибку:

SQLState [23000]: Нарушение ограничения целостности: 1452 Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не удается (eat/alumno__beca, Ограничение alumno__beca_persona_id_alumno_idВНЕШНИЙ КЛЮЧ (persona_id) ИСПОЛЬЗОВАННАЯ ЛИТЕРАТУРА alumno (id) На удалении каскада)

Кто-то узнает, как написать крепеж для стола, унаследованной другой?

Спасибо!

Это было полезно?

Решение

Я не уверен. Регистрация дочерней записи не может «юридически» существовать без его родителей, если вы определили свои отношения таким образом, иначе не удается ограничение.

Другие советы

Я начал Symfony в последние недели, и у меня есть проблемы сегодня с этим ..

Первая проблема в том, что ваши внешние ключи должны быть целыми. Не целое число (3) .. Не следует писать поля полей, если это внешний ключ. А также ваш код правильный, это просто информация.

Вторая проблема в том, что вы должны удалить следующие показатели внешних ключей на таблице базы данных. Если он уже создан, когда вы вставляете SQL снова, он дает ошибку.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top