【问题标题】:show transactions for two users in history table within the last 24 hours显示过去 24 小时内历史记录表中两个用户的交易
【发布时间】:2016-04-20 22:01:53
【问题描述】:

我正在尝试获取一个 php 表以仅显示过去 24 小时的交易。

记录存储在交易历史表中,每条记录都有一个“buyer_id”和一个“seller_id”

$query = Doctrine_Query::create()
            ->select('th.*')
            ->from('TransactionHistory th')
            ->where('th.transaction_end_time > ?', date('Y-m-d H:i:s', time() - 86400 * 1))           
            ->orderBy('th.id DESC')
            ->execute(array(), Doctrine::HYDRATE_ARRAY);
    return($query);

该查询为我提供了过去 24 小时内发生的所有交易的我想要的结果。

问题是我需要显示过去 24 小时内用户作为买方或卖方参与的交易。

$query = Doctrine_Query::create()
            ->select('th.*')
            ->from('TransactionHistory th')
            ->where('th.transaction_end_time > ?', date('Y-m-d H:i:s', time() - 86400 * 1))
           ->orWhere('th.transaction_buyer_id = ?')
           ->orWhere('th.transaction_seller_id = ?')              
           ->orderBy('th.id DESC')
           ->execute(array(), Doctrine::HYDRATE_ARRAY);
    return($query);

这给了我所有的结果(新的和超过 24 小时的)

我需要一个查询(或其他解决方案),以显示您参与的所有交易(无论是作为买家还是卖家),时间少于 24 小时。

我们将不胜感激任何想法、文档或显而易见的解决方案。

提前致谢。

【问题讨论】:

    标签: php mysql doctrine symfony-1.4


    【解决方案1】:

    问题是 OR。您需要时间和买方/卖方条件。您只想为买家/卖家做 OR。

    $query = Doctrine_Query::create()
        ->select('th.*')
        ->from('TransactionHistory th')
        ->where('th.transaction_end_time > ?', date('Y-m-d H:i:s', time() - 86400))
        ->andWhere('th.transaction_buyer_id = ? OR th.transaction_seller_id = ?')
        ->orderBy('th.id DESC')
        ->execute(array(), Doctrine::HYDRATE_ARRAY);
    

    【讨论】:

      【解决方案2】:

      感谢 Matt S。这仍然给了我相同的结果,但按照这个顺序它可以工作。谢谢你的帮助。

            $query = Doctrine_Query::create()
              ->select('th.*')
              ->from('TransactionHistory th')
              ->where('th.transaction_buyer_id = ? OR th.transaction_seller_id = ?')
              ->andWhere('th.transaction_end_time > ?', date('Y-m-d H:i:s', time() - 86400 * 1))
              ->orderBy('th.id DESC')
              ->execute(array($user_id, $user_id), Doctrine::HYDRATE_ARRAY);
        return($query);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-06-28
        • 1970-01-01
        • 2019-09-27
        • 2014-09-17
        • 2013-06-26
        • 2014-10-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多