我有这个用doctrine
编写的本机SQLSELECT COUNT(DISTINCT t.int_task_type_id) as a_count
FROM tbl_xref_people_task t
WHERE t.bit_completed = true AND
t.int_people_id = :peopleId AND
t.int_task_type_id IN (:taskType)
我必须在本机SQL中编写它,因为int_task_type_id是分层模型类中的鉴别器列。
问题是我无法做到以下几点:
$query->setParameter(':taskType', implode(', ',$taskType));
或者这个:
$query->setParameter(':taskType', $taskType, 'array');
我该如何解决这个问题?
答案 0 :(得分:1)
如果这有助于其他人:
我刚刚使用Doctrine 2.0.5(ish)使用旧的Zend 1.11版本偶然发现了这个问题。我发现以上内容与我的PDO连接不兼容。我相信PDO会在参数周围添加引号,因此您无法使用上述内容。
我找到的唯一方法是:
None
答案 1 :(得分:0)
我认为您可以使用以下方法轻松完成:
$query->setParameter('taskType', $taskType);
Doctrine会自动将$taskType
转换为正确的格式。