Display one set of ActionColums for post owner , and other for viewers

Hello, so I have this problem, and it always displays second option, no matter of user:




 (Yii::$app->user->id == 'user_id'?['class' => 'yii\grid\ActionColumn']:

            ['class' => 'yii\grid\ActionColumn', 'template' => '{view}'])



In this:




  <?= GridView::widget([

        'dataProvider' => $dataProvider,

        'filterModel' => $searchModel,

        'columns' => [

            ['class' => 'yii\grid\SerialColumn'],


            'id',

            'name',

            'user_id',

            (Yii::$app->user->id == 'user_id'?['class' => 'yii\grid\ActionColumn']:

            ['class' => 'yii\grid\ActionColumn', 'template' => '{view}']),

        ],

    ]); ?>



It echoes Yii::$app->user->id and user_id properly, but it simply doesn’t work, and I don’t know how else should I write this inside widget since it is in echo command

Is this condition what you really want? This will almost always be false, because ‘user_id’ is a string that is ‘user_id’.

What do you want to compare?

Ohhh, thats right ;D :)

In short, I want to check, for every row in Model’s Index,

is the Yii::$app->user->id == Model->user_id

and display ActionColumn accordingly

Check yii\grid\ActionColumn::buttons in API.

http://www.yiiframework.com/doc-2.0/yii-grid-actioncolumn.html#$buttons-detail

Awesome solved it after lot of googling, in documentation it doesn’t say you should write ‘button’ => code

For community sake here is how I did it


GridView::widget([

        'dataProvider' => $dataProvider,

        'filterModel' => $searchModel,

        'columns' => [

            ['class' => 'yii\grid\SerialColumn'],


            'id',

            'name',

            'user_id',

            ['class' => 'yii\grid\ActionColumn',

            'template' => '{view}{update}{delete}',

            'buttons' => [

            //buttons

                'view' => function ($url, $model) {

                     return  Html::a('<span class="glyphicon glyphicon-eye-open"></span>', $url, [

                                        'title' => Yii::t('yii', 'View'),


                                ]);

                    },

                'update' => function ($url,$model) {

                        return Yii::$app->user->id == $model->user_id ? Html::a('<span class="glyphicon glyphicon-pencil"></span>', $url, [

                            'title' => Yii::t('yii', 'Update'),]):' ';


                            

                    },

                'delete' => function ($url,$model) {

                        return Yii::$app->user->id == $model->user_id ? Html::a('<span class="glyphicon glyphicon-trash"></span>', $url, [

                            'title' => Yii::t('yii', 'Delete'),]):' ';

                    },                    




                ]

            ],//!

        ],

    ]);