在视图中我添加
<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;
}
答案 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