Связанные записи вставляются каждый раз - PullRequest
0 голосов
/ 03 декабря 2010

У меня есть таблица, где статьи и другие таблицы связаны с таблицей изображений.Сохранение изображения начинается с расчета и сохранения связанных миниатюр, что делается в модели изображения (preSave).Сохранение статьи, начните сохранять изображения, что снова запускает процесс миниатюр.И я не знаю почему ...

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

Как это сделать?

Вот часть моей схемы, сведенная к важным аспектам:

Image:
  columns:
    # ...
  relations:
    Flats:
      class: Flat
      refClass: FlatImage
      foreignAlias: Images
    Articles:
      class: Article
      refClass: ArticleImage
      foreignAlias: Articles

Thumbnail:
  columns:
    # ...
  relations:
    SourceImage:
      class:        Image
      local:        image_id
      onDelete:     CASCADE
      foreignAlias: Thumbnails

Если вам нужны другие части кода, пожалуйста, прокомментируйте.

1 Ответ

0 голосов
/ 03 декабря 2010

См. Здесь "cascade_saves" для вашего файла database.yml Это должно сработать.

all:
  doctrine:
    class: sfDoctrineDatabase
    param:
      dsn:               mysql:host=localhost;dbname=mydatabase
      username:          ###
      password:          ###
      encoding:          utf8
      attributes:
         cascade_saves: false
...