php active-record обновляет отношения через массовое назначение - PullRequest
0 голосов
/ 01 февраля 2012

Кто-нибудь знает обходной путь в php-activerecord, позволяющий обновлять отношения объекта посредством массового присвоения?

Загруженный объект

$obj = Model::find(array(
                   'conditions'=>array('id=?', $id), 
                   'include'=>array('Relationship_one', 'relationship_two')
                   ));

код

$obj->update_attributes(--post data--);

Будет корректно обновлять объект, но не его релизы.

1 Ответ

1 голос
/ 21 февраля 2012

Немного ответа, но я исправил эту проблему, сделав функцию, которая вызывается с данными поста, которые

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

Ваше преимущество в том, что вы тоже можете создавать эти отношения! Если отношения не существуют (например, когда вы впервые добавляете что-то в отношении один ко многим), вы можете обновить «базовую» модель, но не можете обновить связь: вам нужно создать ее первый. Вы можете проверить это в функции вашей модели, а затем вызвать функцию реляционной модели, чтобы завершить работу.

...