Я использую Symfony1.4.1 и использует Doctrine 1.2.1 (я думаю).
Я пытался создать функцию, которая выполняла все вышеперечисленное самостоятельно, когда нашел такую, которая уже существует.
Попробуйте это в любой функции и посмотрите на результаты:
$tmp=$this->toArray(TRUE);
var_dump($tmp);
$this->refreshRelated();
$tmp=$this->toArray();
var_dump($tmp);
$tmp=$this->toArray(TRUE);
var_dump($tmp);
exit();
Я собираюсь попробовать две разные вещи:
A / put $ this-> refreshRelated () в конструктор всех моих модельных объектов.B / написать функцию, которая принимает массив, изображающий граф объекта, который я хочу заполнить.Вызов функции refereshRelatedGraph ($ objectGraphArray).С правильной структурой массива (имеющей все соответствующие имена отношений на каждом уровне) я мог бы контролировать, какие отношения заполняются, а какие нет.Одним из способов использования этого является заполнение только детей, а не родительских отношений.Другое для случая, когда ERD / Schema / ObjectGraph имеет элемент, который «принадлежит» более чем одному объекту (многие ко многим, другие особые обстоятельства, которые у меня есть), я мог бы контролировать, какая сторона отношений предварительно (не ленивая)) загружено.