2016-04-20 31 views
0

我想要獲取一張php表格以顯示過去24小時內的交易。顯示過去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

感謝馬特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); 
0

問題是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); 
相關問題