在视图中添加条件到模型中的sql

时间:2017-02-12 18:05:35

标签: php yii2

在视图中我添加

<select name="list">
    <option value="mouse">mouse</option>
    <option value="keyboard">keyboard</option>
    <option value="headphones">headphones/option>
</select>`

在模型中,我创建$list = "'mouse','keyboard','headphones'";

添加条件,如果用户选择“鼠标”而不是where items_sort in ({$list}) $list包含“鼠标”?

$result =  Yii::$app->getDb()->createCommand(
        "Select *
         from order_table
         where items_sort in ({$list})"
    )->queryAll();


    return $result;
}

1 个答案:

答案 0 :(得分:0)

正如一般答案一样,我认为您的表单中包含名为select的{​​{1}}字段,该字段向list操作提交请求。使用默认值为您的操作添加列表参数:

order

它只是一个解决方案,甚至不是一个好的解决方案!一个好的候选人正在为您的public function actionOrder($list = "'mouse','keyboard','headphones'") { $result = Yii::$app->getDb()->createCommand( "Select * from order_table where items_sort in ({$list})" )->queryAll(); return $this->render('order', ['order' => $result]); } 表格实施Order模型(如果您从此表名中删除order_table前缀并将_table列命名为{单数名称,例如items_sort),并使用item_sort模型搜索您的操作:

ActiveRecord