如何比较FuelPHP中两列中的值

时间:2012-12-07 07:54:45

标签: sql orm fuelphp

使用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`

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

要实现您的目标,您必须使用DB::expr()

所以,你的代码将是:

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