我正在使用 cakephp 2.3.0。摘要 - 在我的控制器中,我有一个查询,它返回一个或多个 id 值。然后,我想在下一个查询中使用这些 id 值和 SQL IN 关键字。我从概念上知道我想要完成什么。我认为我在 CakePHP 中这样做是正确的,但我可能是错的。我只是不确定动态构建我的 IN 子句的编码部分。
这是我的控制器中的代码片段:
$this->set('userIDs', $this->Activity->ActivitiesOfInterest->find('all',
array (
'conditions' => array ('ActivitiesOfInterest.activities_id' => $id),
'fields' => array ('ActivitiesOfInterest.user_id'))));
上面的代码很好,因为我得到了我期望的一个或多个值。在下面的代码中,我对这部分进行了硬编码,array(3, 4),它相当于 SQL IN 关键字。值 3、4 将存储在 userIDs 数组中。但是,这是我不确定如何从上面代码中的数组动态构建 3 和 4 的值的地方。当然,3 和 4 可能并不总是这些值,因为它只取决于数据库中的内容。我想我需要遍历数组并建立我的 id 列表。我对 CakePHP 还有些陌生,我猜这对于有经验的人来说是一个简单的答案。
而且,是的,根据我的用例,我实际上确实想执行 deleteAll 操作。
$this->Activity->ActivitiesOfInterest->deleteAll(
array('ActivitiesOfInterest.user_id' => array(3, 4)), false);
谢谢,非常感谢。