$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。
答案 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