本文整理汇总了PHP中Doctrine\Common\Persistence\Event\LifecycleEventArgs::getObject方法的典型用法代码示例。如果您正苦于以下问题:PHP LifecycleEventArgs::getObject方法的具体用法?PHP LifecycleEventArgs::getObject怎么用?PHP LifecycleEventArgs::getObject使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Doctrine\Common\Persistence\Event\LifecycleEventArgs
的用法示例。
在下文中一共展示了LifecycleEventArgs::getObject方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: preUpdate
/**
* @param \Doctrine\Common\Persistence\Event\LifecycleEventArgs $event
*/
public function preUpdate(LifecycleEventArgs $event)
{
if (!$this->supports($event->getObject())) {
return;
}
$object = $event->getObject();
$object->setUpdatedAt($this->now());
$dm = $event->getDocumentManager();
$class = $dm->getClassMetadata(get_class($object));
$dm->getUnitOfWork()->recomputeSingleDocumentChangeSet($class, $object);
}
示例2: preRemove
public function preRemove(LifecycleEventArgs $args)
{
if (!$args->getObject() instanceof Payment) {
return;
}
$entity = $args->getObject();
$entityManager = $args->getObjectManager();
$products = $entityManager->getRepository("CvaGestionMembreBundle:Produit")->findBy(['hasWaitingList' => true]);
if ($entity instanceof Payment) {
if (in_array($entity->getProduct(), $products)) {
$this->containerInterface->get("bde.wei.registration_management")->removeFromWaitingList($entity->getStudent(), $entity->getProduct());
}
}
}
示例3: PostUpdate
public function PostUpdate(LifecycleEventArgs $args)
{
$entity = $args->getObject();
$em = $args->getObjectManager();
$classMetaData = $em->getClassMetadata(get_class($entity));
foreach ($classMetaData->associationMappings as $associationMappingKey => $associationMappingDatas) {
if ($associationMappingDatas['type'] == \Doctrine\ORM\Mapping\ClassMetadataInfo::ONE_TO_MANY) {
$repo = $em->getRepository($associationMappingDatas['targetEntity']);
$associated = $repo->findBy([$associationMappingDatas['mappedBy'] => $entity]);
$newAssociated = call_user_func([$entity, 'get' . ucfirst($associationMappingKey)]);
$changed = false;
foreach ($associated as $associatedEntity) {
if (!$newAssociated->contains($associatedEntity)) {
$changed = true;
$em->remove($associatedEntity);
}
}
if ($changed) {
$em->flush();
}
//
}
}
// dump($classMetaData);
// die();
}
示例4: onPaymentBeforeSave
public function onPaymentBeforeSave(LifecycleEventArgs $args)
{
$entity = $args->getObject();
if ($entity instanceof PaymentInterface) {
$this->getPaymentStateHistoryManager()->createPaymentStateHistory($entity);
}
}
示例5: preUpdate
/**
* Pre update
* PreUpdate event needs to recompute change set
*
* @param LifecycleEventArgs $args
*/
public function preUpdate(LifecycleEventArgs $args)
{
$object = $args->getObject();
if ($object instanceof AbstractMetric && $object->getUnit()) {
$this->createMetricBaseValues($object);
}
}
示例6: updateRoute
protected function updateRoute(LifecycleEventArgs $args)
{
$object = $args->getObject();
if ($object instanceof MenuInterface) {
$object->setRouter($this->router);
}
}
示例7: postRemove
public function postRemove(LifecycleEventArgs $event)
{
$object = $event->getObject();
$reflection = new \ReflectionClass($object);
$message = sprintf('%s deleted', $reflection->getShortName());
$this->logger->notice($message, $this->getContext($object));
}
示例8: postPersist
/**
* @param EventArgs|LifecycleEventArgs $args
*/
public function postPersist(LifecycleEventArgs $args)
{
$entity = $args->getObject();
$em = $args->getObjectManager();
if ($entity instanceof Comment) {
if ($entity->getArticleId() != null) {
if ($entity->getUserId()->getId() != $entity->getArticleId()->getUserId()->getId()) {
$n = new Notification();
$n->setUser($entity->getUserId())->setArticle($entity->getArticleId());
$em->persist($n);
$em->flush();
}
} else {
if ($entity->getVideoId() != null) {
if ($entity->getUserId()->getId() != $entity->getVideoId()->getUserId()->getId()) {
$n = new Notification();
$n->setUser($entity->getUserId())->setVideo($entity->getVideoId());
$em->persist($n);
$em->flush();
}
} else {
if ($entity->getLinkId() != null) {
if ($entity->getUserId()->getId() != $entity->getLinkId()->getUserId()->getId()) {
$n = new Notification();
$n->setUser($entity->getUserId())->setLink($entity->getLinkId());
$em->persist($n);
$em->flush();
}
}
}
}
}
}
示例9: let
function let(Generator $generator, HasSalt $user, LifecycleEventArgs $event)
{
$generator->generate()->willReturn('salt');
$event->getObject()->willReturn($user);
$user->getSalt()->willReturn(null);
$this->beConstructedWith($generator);
}
示例10:
function it_marks_indexed_product_values_outdated_after_loading_a_value(LifecycleEventArgs $args, ProductValueInterface $value, ProductInterface $entity)
{
$args->getObject()->willReturn($value);
$value->getEntity()->willReturn($entity);
$entity->markIndexedValuesOutdated()->shouldBeCalled();
$this->postLoad($args);
}
示例11: postUpdate
/**
* Control object dms
*
* @param LifecycleEventArgs $args
*/
public function postUpdate(LifecycleEventArgs $args)
{
$entity = $args->getObject();
if ($entity instanceof GedableInterface) {
$this->manageNodeTree($entity->getGedTree());
}
}
示例12: preUpdate
/**
* Pre update listener based on doctrine commons, overwrite to update
* the changeset in the UoW and to handle non-common event argument
* class.
*
* @param LifecycleEventArgs $args weak typed to allow overwriting
*/
public function preUpdate($args)
{
$object = $args->getObject();
if ($object instanceof UserInterface) {
$this->updateUserFields($object);
}
}
示例13: preRemove
public function preRemove(LifecycleEventArgs $event)
{
$object = $event->getObject();
if ($this->isReferenceable($object)) {
$this->objectAdapterManager->removeReference($object);
}
}
示例14:
function it_applies_during_pre_update_on_timestampable_object(LifecycleEventArgs $args, TimestampableInterface $object)
{
$args->getObject()->willReturn($object);
$object->setCreated()->shouldNotBeCalled();
$object->setUpdated(Argument::type('\\DateTime'))->shouldBeCalled();
$this->preUpdate($args);
}
示例15: prePersist
public function prePersist(LifecycleEventArgs $args)
{
$object = $args->getObject();
if ($object instanceof FileInterface) {
$object->upload();
}
}