2015-09-15 32 views
0

得到這個實體之間銷售。 該表必須包含兩個日期之間的所有日期以及商店中對象的參考代碼。主義獲得兩個日期

例如: Example of table im searching to do

我怎樣才能得到它呢?只能使用Doctrine來做到這一點,或者我必須使用PHP來構建該表格?

回答

0

創建一個自定義DQL(在我建議的存儲庫中)來檢索所有付款,其中payment.date => yourSmallerUserDate和payment.date < = yourBiggerUserDate。

結果將是您的兩個日期之間的所有付款。

在您的邏輯中,您可以在兩個日期之間建立一個每天有一排行的表格。只要您的結果中的日期與您的行日期相匹配,請將其添加到您的輸出中。

1

這是可能的,你需要的是通過主義-ORM提供的orX()功能

您將需要創建一個使用功能exp()那麼你可以把兩個表達式在orX()聲明兩個表達式得到需要的結果。

對於你需要定義你需要的功能
gt()/lt()表達 - 大於/低於
這會給你比較兩個日期

對於進一步參考檢查該鏈接的可能性:
https://doctrine-orm.readthedocs.org/en/latest/reference/query-builder.html#high-level-api-methods

PS: 對於readabilty和邏輯它應該是更容易地創建inserti之前表達納克他們到你的查詢:

$exp1 = $qb->expr()->gt('..', '?value'); 
$exp2 = $qb->expr()->gt('..', '?value2'), 

... 

$qb->where($qb->expr()->orX($exp1, $exp2)); 

注意orX可以聚集表達式

無限數量的