0
集計ハイドレーターをネストすることは可能ですか?zf2 - ネスト化集計ハイドレーター
class UserHydratorFactory implements FactoryInterface
{
public function createService(ServiceLocatorInterface $serviceLocator) {
$sm = $serviceLocator->getServiceLocator();
$userHydrator = new UserHydrator($sm->get('User\Mapper'));
$aggregateHydrator = new AggregateHydrator();
$aggregateHydrator->add($userHydrator);
$aggregateHydrator->add($sm->get('HydratorManager')->get('Hydrator\User\Location'));
return $aggregateHydrator;
}
:UserHydratorFactoryは次のように見ていると
class AppointmentModelHydratorFactory implements FactoryInterface
{
public function createService(ServiceLocatorInterface $serviceLocator) {
$serviceManager = $serviceLocator->getServiceLocator();
$arrayHydrator = new ArraySerializable();
$arrayHydrator->addStrategy('date', new DateTimeStrategy())
->addStrategy('endTime', new TimeStrategy())
->addStrategy('startTime', new TimeStrategy());
$aggregateHydrator = new AggregateHydrator();
$aggregateHydrator->add($arrayHydrator);
$aggregateHydrator->add($serviceLocator->get('Hydrator\User'));
return $aggregateHydrator;
}
}
:
class Appointment{
public date;
public startTime;
public endTime;
public User; //* @var User */
}
class User{
public Location; //* @var Location*/
}
が...(ファクトリから作成)以下AggregateHydratorが移入されている:私は、以下のクラスを持っている場合}
モデルがnullとして返されているので、これはexpectionを投げていますが、私はユーザーハイドレーターにLocationハイドレーターを追加してコメントアウトすると、(ロケーションデータがロードされていなくても)うまく機能します。だから、集約したハイドレーターがネストできるかどうか疑問に思っていましたか?