如何在phalcon框架中使用“Models :: find()”?

时间:2013-05-14 06:44:58

标签: models phalcon

$submodules = Modules::find(
    array(
        'moduleid in (:mods:) and parentid = :parentid:',
        'bind' => array(
            'mods' => '1,2',
            'parentid' => 1
        ),
        'bindtype' => array(
            'mods' => Column::BIND_PARAM_STR,
            'parentid' => Column::BIND_PARAM_INT
        )
    )
);

我希望sql是“select * from moduleid in module(in 1,2)和parentid = 1” 但结果不正确。

帮助PLZ。

1 个答案:

答案 0 :(得分:1)

转义:mods:将产生'1,2'因此:从模块中选择*,其中moduleid在('1,2')和parentid = 1

您需要为“in”中的每个值使用bound参数:

$submodules = Modules::find(array(
  'moduleid in (:firstMod:, :secondMod:) and parentid = :parentId:',
  'bind' => array(    
    'firstMod' => 1,
    'secondMod' => 2,
    'parentId' => 1
  )
));

在这种情况下最好使用QueryBuilder