gpt4 book ai didi

php - 从 Lithium find 中排除结果

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:54:00 24 4
gpt4 key购买 nike

我想排除调用 Lithium 模型的 find() 方法的结果。我需要为同时具有 MongoDB 和 MySQL 数据源的模型执行此操作,但在 SQL 中,我的意思是类似于 WHERE myfield NOT IN (1,2,3)

我希望能够像下面那样在 conditions 数组中传递一个 not 子句,但这似乎不可能。

Item::all(array('conditions' => array('not' => array('myfield' => array(1,2,3))));

所以我的问题是,这在 Lithium 中是否可能以我忽略的方式实现?如果不是,那么为我的模型实现它的最 Lithium-ish 方式是什么?

最佳答案

澄清一下,为了方便起见,Lithium 的 MongoDB 适配器支持大多数 SQL 比较运算符,因此对于 Mongo MySQL,您可以简单地编写如下查询:

Item::all(array('conditions' => array(
'myfield' => array('!=' => array(1,2,3))
)));

它应该会给您预期的结果。对于 MySQL,查询应该类似于:

SELECT * FROM items WHERE myfield NOT IN (1, 2, 3);

在 Mongo 中:

db.items.find({ myfield: { $nin: [1, 2, 3] }})

关于php - 从 Lithium find 中排除结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5012378/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com