Symfony2从数据库查询特定值

多米尼卡斯55

一家简单的商店。用户的余额帐户中有钱,当他购买东西时,需要根据购物车的总和来减少余额。如果付款成功,我有一个重定向的操作。如果是这样,我想减少余额:

  /**
     * @Route("/successfull", name="successfull_purchase")
     * @Template("MediaparkLtUserBundle:User:paymentConfirmed.html.twig")
     */
    public function successfullPurchaseAction(Request $request) {
        $currentUser = $this->getCurrentUser(); // logged users id
        $em = $this->getEntityManager();
        $user = $em->getRepository('MediaparkLtUserBundle:User')->find($currentUser);
        $pay = $em->getRepository('MediaparkLtUserBundle:AccountMovement')->findOneBy(array('user'=>$currentUser));
        $sum = $pay->getAmount();
        $balance = $user->getNonpayableFunds();
        $newBalance = $balance - $sum;

        $user->setNonpayableFunds($newBalance);

        $em->persist($user);
        $em->flush();
        return array('user' => $user, 'pay'=> $pay);
    }

如您所见,即时查询两个表。在用户表中即时获取当前用户。在AccountMovement中,我正在基于该用户进行移动。

因此,我试图在特定时间获取金额,但我始终会获得首次购买。

例如:

AccountMovement表:

id-1
user_id - 5
amount - 50.00

id-2
user_id - 5
amount - 5.00

通过我的查询,我总是得到第一个输入,抽动是50.00。我需要获取最后一个(或当前输入)。我怎样才能做到这一点?是否可以做这样的事情:

$pay = $em->getRepository('MediaparkLtUserBundle:AccountMovement')->findOneBy(array('user'=>$currentUser, 'DESC')); (to get the last input)??

有任何想法吗?

乔万·佩罗维奇(Jovan Perovic)

我认为您可以做类似的事情:

$pay = $em->getRepository('MediaparkLtUserBundle:AccountMovement')
        ->findBy(array('user'=>$currentUser), array('id' => 'DESC'), 1)[0];

不理想,但应该可以。请注意,OutOfRangeException如果数据库中不存在任何结果,则可能引发此错误

为什么不自己存储最后的钱User呢?还是与User实体相关的其他实体?

另外,请确保通过beginTransaction()将操作包装在数据库事务中commit()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Symfony2从数据库查询特定值

来自分类Dev

Symfony2 SonataClassificationBundle从数据库查询

来自分类Dev

Symfony2数据库配置

来自分类Dev

插入数据库symfony2

来自分类Dev

如何使用symfony2和主义从数据库中手动查询

来自分类Dev

Symfony2 Form Builder-从数据库查询创建选择数组

来自分类Dev

Symfony2实现数据库翻译的最佳方法

来自分类Dev

Symfony2无法连接到远程数据库

来自分类Dev

使用Symfony2和Doctrine导入数据库

来自分类Dev

Symfony2 ORM实体插入数据库

来自分类Dev

symfony2使用理论的动态数据库连接

来自分类Dev

从数据库加载的Symfony2实体属性

来自分类Dev

加载不同的数据库Symfony2

来自分类Dev

来自数据库的Symfony2 REST翻译

来自分类Dev

Symfony2 FOSUserBundle更改数据库表

来自分类Dev

加载不同的数据库Symfony2

来自分类Dev

坚持数据库Symfony2的MySQL错误

来自分类Dev

我可以在Symfony2中以编程方式访问数据库查询计数器吗

来自分类Dev

使用ajax时无法将数据(下拉值)保存到symfony2中的数据库

来自分类Dev

Symfony2将数据库架构信息存储在数据库表中

来自分类Dev

Symfony 2-findall()数据库查询过多

来自分类Dev

如何使用选择框从数据库行symfony2中获取数据

来自分类Dev

在基本视图(树枝)+ symfony2中使用数据库中的数据

来自分类Dev

如何从数据库中的现有数据生成子弹字段-Doctrine Symfony2

来自分类Dev

在基础视图(树枝)+ symfony2中使用数据库中的数据

来自分类Dev

Symfony2,Doctrine,从数据库获取数据以生成Excel

来自分类Dev

Symfony2 / Doctrine2-从数据库获取日期时间时的问题

来自分类Dev

Symfony2 Doctrine2 Oracle数据库NUMBER DEFAULT类型?

来自分类Dev

组,消息和位置之间的Symfony2 / Doctrine2数据库关系

Related 相关文章

  1. 1

    Symfony2从数据库查询特定值

  2. 2

    Symfony2 SonataClassificationBundle从数据库查询

  3. 3

    Symfony2数据库配置

  4. 4

    插入数据库symfony2

  5. 5

    如何使用symfony2和主义从数据库中手动查询

  6. 6

    Symfony2 Form Builder-从数据库查询创建选择数组

  7. 7

    Symfony2实现数据库翻译的最佳方法

  8. 8

    Symfony2无法连接到远程数据库

  9. 9

    使用Symfony2和Doctrine导入数据库

  10. 10

    Symfony2 ORM实体插入数据库

  11. 11

    symfony2使用理论的动态数据库连接

  12. 12

    从数据库加载的Symfony2实体属性

  13. 13

    加载不同的数据库Symfony2

  14. 14

    来自数据库的Symfony2 REST翻译

  15. 15

    Symfony2 FOSUserBundle更改数据库表

  16. 16

    加载不同的数据库Symfony2

  17. 17

    坚持数据库Symfony2的MySQL错误

  18. 18

    我可以在Symfony2中以编程方式访问数据库查询计数器吗

  19. 19

    使用ajax时无法将数据(下拉值)保存到symfony2中的数据库

  20. 20

    Symfony2将数据库架构信息存储在数据库表中

  21. 21

    Symfony 2-findall()数据库查询过多

  22. 22

    如何使用选择框从数据库行symfony2中获取数据

  23. 23

    在基本视图(树枝)+ symfony2中使用数据库中的数据

  24. 24

    如何从数据库中的现有数据生成子弹字段-Doctrine Symfony2

  25. 25

    在基础视图(树枝)+ symfony2中使用数据库中的数据

  26. 26

    Symfony2,Doctrine,从数据库获取数据以生成Excel

  27. 27

    Symfony2 / Doctrine2-从数据库获取日期时间时的问题

  28. 28

    Symfony2 Doctrine2 Oracle数据库NUMBER DEFAULT类型?

  29. 29

    组,消息和位置之间的Symfony2 / Doctrine2数据库关系

热门标签

归档