Yii2 findBySql:如何指定$params?
Yi2提供ActiveRecord::findBySql für原始SQL查询:Yii2 findBySql:如何指定$params?,yii2,Yii2,Yi2提供ActiveRecord::findBySql für原始SQL查询: 因为文档中没有提示:如何指定$params 更新 没有任何关于参数的文档传递给findBySql()方法的原因是该方法返回ActiveQuery的实例,如果您在yii\db\ActiveRecord.php中看到此方法的最后一行,它将通过$query->params(/params)设置$params,表示定义as的yii\db\ActiveQuery函数params($params) $params按参数索引的
因为文档中没有提示:如何指定
$params
更新
没有任何关于参数的文档传递给findBySql()
方法的原因是该方法返回ActiveQuery
的实例,如果您在yii\db\ActiveRecord.php
中看到此方法的最后一行,它将通过$query->params(/params)
设置$params
,表示定义as的yii\db\ActiveQuery
函数params($params)
$params
按参数索引的查询参数值列表
占位符。例如,[':name'=>“Dan',':age'=>31]
我想如果你有一个名为product的表,你应该试试下面的方法
+----+-----------------+------------+--------+
| 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 |
+----+-----------------+------------+--------+
使用以下代码,您可以选择使用params删除的所有产品
$q = Product::findBySql(
"SELECT * FROM product where is_deleted=:deleted",
[':deleted' => 1]
)->all();
希望这有助于更新 没有任何关于参数的文档传递给
findBySql()
方法的原因是该方法返回ActiveQuery
的实例,如果您在yii\db\ActiveRecord.php
中看到此方法的最后一行,它将通过$query->params(/params)
设置$params
,表示定义as的yii\db\ActiveQuery
函数params($params)
$params
按参数索引的查询参数值列表
占位符。例如,[':name'=>“Dan',':age'=>31]
我想如果你有一个名为product的表,你应该试试下面的方法
+----+-----------------+------------+--------+
| 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 |
+----+-----------------+------------+--------+
使用以下代码,您可以选择使用params删除的所有产品
$q = Product::findBySql(
"SELECT * FROM product where is_deleted=:deleted",
[':deleted' => 1]
)->all();
希望这有助于我们查看答案中的更新部分。希望能有所帮助。@WeSee查看答案中的更新部分。希望能有帮助。