halo agan-agan,
$count = Yii::$app->db->createCommand(‘SELECT COUNT(*) FROM store’)->queryScalar();
$dataProvider = new SqlDataProvider([
'sql' => "SELECT store.*, subgroup_name FROM store INNER JOIN subgroup ON store.id_subgroup = subgroup.id WHERE store.id IN ( {$listStoreId} )",
// 'params' => [':status' => 1],
'totalCount' => $count,
'sort' => [
'defaultOrder' => ['id' => SORT_ASC],
'attributes' => [
'id' => [
'label' => $this->arrtrans[8],
],
'store_name' => [
'label' => $this->arrtrans[9],
],
'port' => [
'label' => $this->arrtrans[10],
],
'portbs' => [
'label' => $this->arrtrans[11],
],
'subgroup_name' => [
'label' => $this->arrtrans[12],
],
],
],
]);
$models = $dataProvider->getModels();
$allPort = array();
for($i=0;$i<$count;$i++)
{
$dbPort = $models[$i]["port"];
$allPort[] = $dbPort;
}
//upload software update
return $this->render('firmware',['dataProvider'=>$dataProvider, 'model' => $model, 'allPort' => $allPort]);
ini kode gridview saya :
<?= GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
[
'class' => 'yii\grid\CheckboxColumn',
'checkboxOptions' =>
[
'value' => $allPort[0],
],
],
[
'attribute' => 'id',
'label' => $that->arrtrans[8],
'encodeLabel' => false,
],
[
'attribute' => 'store_name',
'label' => $that->arrtrans[239],
'encodeLabel' => false,
],
[
'attribute' => 'port',
'label' => $that->arrtrans[10],
'encodeLabel' => false,
],
[
'attribute' => 'portbs',
'label' => $that->arrtrans[11],
'encodeLabel' => false,
],
[
'attribute' => 'subgroup_name',
'label' => $that->arrtrans[12],
'encodeLabel' => false,
]
],
]); ?>
yang saya inginkan yaitu,bagaimana membuat array $allport menjadi value untuk checkbox column,
tepatnya pada bagian ini :
[
'class' => 'yii\grid\CheckboxColumn',
'checkboxOptions' =>
[
'value' => $allPort[0],
],
semuanya berjalan lancar kalo diarahin ke index [0], yang jadi masalah adalah semua baris checkbox semua memilki nilai yang sama, bagaimana merubahnya? apakah mungkin menggunakan for looping didalem checkboxoptions?