PHP 拆分类函数调用



我使用 PHP 和 Idiorm 进行 SQL 查询。

普通查询

这个有效。

$females = ORM::for_table('person')
               ->where('gender', 'female')
               ->find_many();

问题

在某些情况下,我需要添加另一个 where 子句,而无需再次重写整个查询。结果可能如下所示。它有效。

$females = ORM::for_table('person')
               ->where('gender', 'female')
               ->where('parent', 22)
               ->find_many();

我的尝试失败了

它以某种方式丢失了对象。

$females = ORM::for_table('person')
               ->where('gender', 'female');
if( ! empty( $parent ) )
{
$females->where('parent', $parent);
}
$females->find_many();

我并不特别了解 Idiorm,但您应该能够重构该代码以:

$query = ORM::for_table('person')->where('gender', 'female');
if ($parent) {
    $query->where('parent', $parent);
}
$females = $query->find_many();

最新更新