Yii2提供ActiveRecord :: findBySql进行原始SQL查询:
public static yii\db\ActiveQuery findBySql ( $sql, $params = [] )
由于该文档中没有任何提示:如何指定$params
?
答案 0 :(得分:1)
更新
之所以没有关于传递给findBySql()
方法的参数的文档,是因为该方法返回了ActiveQuery
的实例,并且如果您在{{1 }}通过yii\db\ActiveRecord.php
设置$params
,表示将$params定义为
$query->params($params)
函数yii\db\ActiveQuery
params($params)
由参数索引的查询参数值列表 占位符。例如,$params
。
如果让我们说您有一个名称为product的表,我想您应该尝试以下方式
[':name' => 'Dan', ':age' => 31]
使用以下代码,您可以选择使用params删除的所有产品
+----+-----------------+------------+--------+
| id | name | is_deleted | price |
+----+-----------------+------------+--------+
| 1 | shugal | 1 | 65.00 |
| 2 | spoon | 1 | 55.00 |
| 4 | kettle | 1 | 15.00 |
| 5 | spoon | 0 | 15.00 |
| 6 | plates | 0 | 105.00 |
| 7 | dishes | 0 | 15.00 |
| 8 | forks | 0 | 15.00 |
| 10 | pressure cooker | 0 | 203.00 |
| 16 | shugal | 1 | 65.00 |
| 17 | something | 0 | 25.00 |
| 25 | multi product | 0 | 0.00 |
| 66 | pans | 0 | 15.00 |
+----+-----------------+------------+--------+
希望这会有所帮助