我有一個過濾器酒吧,在那裏你可以用名字搜索,並驅動車輛的品牌,但我想知道如何在這種格式的日期實際檢查 - >dd/mm/yyyy
如右圖什麼都不知道發生在我搜索的日期,我收到一個空白頁沒有錯誤,但只有零結果。如何檢查日期(dd/mm/yyyy)是否已提交?
我發現,也許用這個$fullDate = DateTime::createFromFormat('d/m/Y',$filter);
一個解決方案,但我有一個掙扎在那裏將其添加到我的代碼。
所以我將分享你我的代碼和我研究
在這裏你可以看到帶有過濾器參數的所有查詢(我搜索)查詢
public function getQueryByTypeAndPro($type, User $user, $archive, $filter)
{
$fullDate = \DateTime::createFromFormat('d/m/Y', $filter);
$qb = $this->createQueryBuilder("opn");
$or = new Orx();
if($fullDate !== false) {
$textFilters[] = $qb->expr()->orx($qb->expr()->like('opn.dateCreation', ':filter'));
} else {
$textFilters[] = $qb->expr()->orx($qb->expr()->like('opn.id', ':filter'));
$textFilters[] = $qb->expr()->orx($qb->expr()->like('opn.vehiculeMarque', ':filter'));
$textFilters[] = $qb->expr()->orx($qb->expr()->like('opn.clientNom', ':filter'));
$textFilters[] = $qb->expr()->orx($qb->expr()->like('opn.clientPrenom', ':filter'));
}
$or->addMultiple($textFilters);
$qb->andWhere($or);
$query = $qb
->andWhere("opn.type = :type")
->andWhere("opn.resellerId = :reseller")
->andWhere("opn.archive = :archive")
->setParameters([
"type" => $type,
"reseller" => $user->getId(),
'archive' => $archive,
'filter' => '%' . $filter . '%'
])
->orderBy("opn.dateCreation", "DESC")
->getQuery()
;
return $query;
}
這是它顯示我在我的查詢分析器,當我在這個格式做一個日期搜索dd/mm/yyyy
SELECT
count(r0_.id) AS sclr0
FROM
reseller_operation r0_
WHERE
r0_.dateCreation LIKE ?
AND r0_.type = ?
AND r0_.reseller_id = ?
AND r0_.archive = ?
所以現在在這個此代碼工作的方式是,當我執行轉儲時dump($fullDate)
它顯示假,當我不輸入日期,並顯示我的日期。所以我猜這個確實有效。 我仍然有這個問題,它不顯示任何結果,只是一個空白頁面,結果爲零。
我不知道,如果你需要我的控制器或我的樹枝,以獲得更好的畫面?我沒有把它們放在這裏,因爲我認爲這不是必要的,但隨時可以問我。
什麼是你有問題?請準確地解決這個問題。 – Jeet
嗨@Jeet目前我有一個過濾器欄,我可以通過名稱等進行搜索(使用我的查詢),但是當我輸入日期格式爲「**/**/****」時,它不會搜索這種格式。我想知道我該怎麼做。對不起,模糊問題 –