Php 在模型中将条件从视图添加到sql

Php 在模型中将条件从视图添加到sql,php,yii2,Php,Yii2,鉴于此,我补充说 <select name="list"> <option value="mouse">mouse</option> <option value="keyboard">keyboard</option> <option value="headphones">headphones/option> </select>` 作为一般回答,我假设您有一个表单,其中有一个名为l

鉴于此,我补充说

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

作为一般回答,我假设您有一个表单,其中有一个名为
list
select
字段,它向
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]);
}
这只是一个解决方案,甚至不是一个好的解决方案!一个好的候选者正在为您的
订单
表实施
订单
模型(如果您将
订单
表前缀从该表名中移除,并将名称
项目
列排序为单数名称,例如
项目
),然后使用
ActiveRecord
模型搜索您的操作:

public function actionOrder($list = "'mouse','keyboard','headphones'")
{
    $result = Order::find()
        ->where(['items_sort' => $list])
        ->all();

    return $this->render('order', ['order' => $result]);
}

作为一般回答,我假设您有一个表单,其中有一个名为
list
select
字段,它向
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]);
}
这只是一个解决方案,甚至不是一个好的解决方案!一个好的候选者正在为您的
订单
表实施
订单
模型(如果您将
订单
表前缀从该表名中移除,并将名称
项目
列排序为单数名称,例如
项目
),然后使用
ActiveRecord
模型搜索您的操作:

public function actionOrder($list = "'mouse','keyboard','headphones'")
{
    $result = Order::find()
        ->where(['items_sort' => $list])
        ->all();

    return $this->render('order', ['order' => $result]);
}

从控制器中的用户获取post数据并将其传递到model@Roman你们能举个例子吗?从控制器中的用户那个里获取post数据并将其传递到你们的系统中model@Roman你能举个例子吗?