Gridview 如何在函数中使用$categoryId
这里,我在yii2网格视图中生成动态列Gridview 如何在函数中使用$categoryId,gridview,yii2,yii2-advanced-app,Gridview,Yii2,Yii2 Advanced App,这里,我在yii2网格视图中生成动态列 $gridColumns = []; $gridColumns[] = [ 'class' => 'yii\grid\SerialColumn', 'contentOptions' => ['width' => 10], ]; foreach ($CategoryList as $categoryId => $categoryName) { $gridColumns[] = [ 'label
$gridColumns = [];
$gridColumns[] = [
'class' => 'yii\grid\SerialColumn',
'contentOptions' => ['width' => 10],
];
foreach ($CategoryList as $categoryId => $categoryName) {
$gridColumns[] = [
'label' => $categoryName,
'value' => function($model) {
return $categoryId; <---- categoryId use in function
}
];
}
GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => $gridColumns,
]);
$gridColumns=[];
$gridColumns[]=[
'class'=>'yii\grid\SerialColumn',
“内容选项”=>10],
];
foreach($CategoryList作为$categoryId=>$categoryName){
$gridColumns[]=[
“标签”=>$categoryName,
“值”=>函数($model){
返回$categoryId;$dataProvider,
“filterModel”=>$searchModel,
“columns'=>$gridColumns,
]);
如何在gridView闭包函数中使用分类
每列都有唯一的$categoryId,如1,2,3,根据循环使用匿名函数
foreach($CategoryList作为$categoryId=>$categoryName){
$categoryIdVariable=“$categoryId”函数($model)使用($categoryIdVariable){这不起作用,因为每个列都有唯一的$categoryId,如1,2,3@ShringirajDewangan这个答案是关于如何在结束语中使用$categoryId
的问题。您的评论是另一个问题。无论如何,您每次都会根据循环得到不同的$categoryId
。请稍微澄清一下您的问题。
$gridColumns[] = [
'label' => $categoryName,
'value' => function($model) use ($categoryId) {
return $categoryId;
}
];
foreach ($CategoryList as $categoryId => $categoryName) {
$categoryIdVariable = "$categoryId"; <---- store value in a variable
$$categoryIdVariable = $categoryIdVariable; <---- store variable in another variable
$gridColumns[] = [
'label' => $categoryName,
'value' => function($model) use($categoryIdVariable) { <---- and use it like a string variable
$categoryId = $categoryIdVariable;
return $categoryId; <---- dynamic categoryId use in function
}
];
}