我正在尝试使用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小时。
任何想法,文档或明显的解决方案都将受到高度赞赏。
提前致谢。
答案 0 :(得分:0)
问题是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);
答案 1 :(得分:0)
谢谢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);