如何连锁方法

时间:2012-11-09 11:13:56

标签: php

我正在使用https://github.com/j4mie/idiorm并像这样查询数据库:

$result = ORM::for_table('users')->join('messages', array('users.uid', '=', 'messages.uid'))->where('mid', '5')->find_many();

现在我想添加一个条件:

$result = ORM::for_table('users')->join('messages', array('users.uid', '=', 'messages.uid'));
if(true) {
  $result->where('mid', '5');
}
$result->find_many();

然而它不起作用。

1 个答案:

答案 0 :(得分:2)

扩展air4x的评论:

这些方法的接口被认为是"fluent" or "fluid",因为它们自己返回(因此join()函数返回嵌入了连接的ORM对象,而不是返回truefalse

$result->where('mid, '5');

..将设置where,但随后该对象将被丢弃。

$result = $result->where('mid', '5');

..将保存修改后的对象。