0
我從Doctrine2的Criteria中遇到問題。 Iusing標準來檢查這樣的PostreSQL一個SMALLINT類型:Doctrine2 Criteria convert 1 to TRUE
$criteria = Criteria::create()->where(Criteria::expr()->eq("actif", 1));
return $this->c_Agenda->matching($criteria);
但我得到這個錯誤:
整數無效的輸入語法: 「T」
我猜想條件將TRUE中的1轉換爲1,並且PostreSQL不會識別此值。如果我將1改爲0,我得到的錯誤是f,而不是t。
在PostreSQL中,actif類型是SMALLINT。
你有解決這個問題的想法嗎?
非常感謝
更換
Criteria::expr()->eq("actif", 1)
作爲破解你可以嘗試改變'EQ( 「ACTIF」,1)''到EQ( 「ACTIF ::布爾」,1)' 。不是一個解決方案 - 只是好奇 –我有這個錯誤:無法識別字段actif ::布爾 –
這麼想......你可以「破解」選擇0 ::布爾值在postgres中返回false,所有其他正整數返回true ,但當然更好的統一屬性類型在DB與它在Doctrine2 ... –