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 ... –