我在使用 checkboxColumn 获取所有选定值/数据 Yii2 Gridview 时遇到问题。
我只能使用以下代码获取网格中的值之一:
'class' => 'yii\grid\CheckboxColumn',
'checkboxOptions' => function($model, $key, $index, $widget) {
return ['value' => $model['item_id'] ];
},
Run Code Online (Sandbox Code Playgroud)
需要一些关于如何获取网格中的所有值的建议......
这是我的代码代码片段控制器/视图:
控制器:
public function actionBulk(){
$action=Yii::$app->request->post('action');
$selection=(array)Yii::$app->request->post('selection');
print_r($selection);
}
Run Code Online (Sandbox Code Playgroud)
看法:
<?=Html::beginForm(['transjournal/bulk'],'post');?>
<?=GridView::widget([
'dataProvider' => $dataProvider,
'bordered'=>true,
'striped'=>true,
'condensed'=>true,
'hover'=>true,
'export' => false,
'showOnEmpty' => false,
'panel'=>[
'after'=>Html::submitButton('<i class="glyphicon glyphicon-plus"></i> Posted', ['class' => 'btn btn-success']),
],
'columns' => [
[
'class' => 'yii\grid\CheckboxColumn',
'checkboxOptions' => function($model, $key, $index, $widget) {
return ['value' …Run Code Online (Sandbox Code Playgroud) 这是我的代码:
$sql = "
SET @run_balqty :=0;
SELECT
transaction_date,
item_id,
item_description,
unit_id,
quantity,
( @run_balqty := @run_balqty + quantity ) AS balance_qty,
reference_code
FROM
`report_ledger` AS ledger
WHERE
item_id = 3147
ORDER BY
transaction_date ";
$query = Yii::$app->db->createCommand($sql)->queryAll();
Run Code Online (Sandbox Code Playgroud)
当我尝试运行这段代码时。我收到这个错误。
SQLSTATE[HY000]:一般错误
现在..我的问题是:为什么我会收到此错误?我怎样才能让它运行?
需要帮忙。谢谢。
如何在 yii-db-query 中设置数据库连接?
我有3 个数据库连接:
db、db2 和 db3
当我使用这个默认查询时:
$query = (new \yii\db\Query())
->select('*')
->from('trans_journal')
->all();
Run Code Online (Sandbox Code Playgroud)
它会返回一个 错误。该trans_journal没有发现,因为trans_journal从DB2连接。
当我使用这个查询时:
$query = (new \yii\db\Query())
->select('*')
->from('trans_journal')
->all(\Yii::$app->db2);
Run Code Online (Sandbox Code Playgroud)
查询将成功生成,但问题是它将返回一个数组。
有没有另一种方法来解决这个问题?