Gridview 如何在函数中使用$categoryId

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

这里,我在yii2网格视图中生成动态列

$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
        }
    ];
}