0

使用 FuelPHP 1.3 的模型查询表时出现问题。条目表有三列('id'、'status'、'current'、'max')。

$result = Model_Entry::query()
    ->where('status', 1)
    ->where('count_current', '>=', 'count_max');

我想使用 'where' 方法的第三个参数作为列名,但它在生成的查询中作为值处理。

例子

SELECT * FROM `entries` AS `t0` WHERE `t0`.`status` = 1 AND `t0`.`count_current` >= 'count_max'

我的目标

SELECT * FROM `entries` AS `t0` WHERE `t0`.`status` = 1 AND `t0`.`count_current` >= `t0`.`count_max`

任何帮助,将不胜感激。

4

1 回答 1

2

为了实现你想要的,你必须使用DB::expr()

因此,您的代码将是:

$result = Model_Entry::query()
    ->where('status', 1)
    ->where('count_current', '>=', DB::expr('count_max'));
于 2012-12-08T02:22:49.893 回答