Php 如何根据yii2中的登录用户进行更新、查看、删除?

Php 如何根据yii2中的登录用户进行更新、查看、删除?,php,yii2,dataprovider,Php,Yii2,Dataprovider,我必须根据登录用户更改查看、更新、删除的id,但当我单击查看时,我会获得索引id。我想根据id更改特定公司。请帮助我我是yii2的新手…提前感谢。 actionIndex() index.php <?= GridView::widget([ 'dataProvider' => $dataProvider, 'dataProvider' => $dataProvider1, 'filterModel'

我必须根据登录用户更改查看、更新、删除的id,但当我单击查看时,我会获得索引id。我想根据id更改特定公司。请帮助我我是yii2的新手…提前感谢。 actionIndex()

index.php

    <?= GridView::widget([
            'dataProvider' => $dataProvider,
            'dataProvider' => $dataProvider1,
            'filterModel' => $searchModel,
            'columns' => [
            'ven_id',
            'ven_company_name',
            'ven_website',
             'ven_contact_no',
             'ven_email_id:email',
          ['class' => 'yii\grid\ActionColumn',
              'header' => 'Action',
              'template' => '{view} {edit} {delete}',
              'buttons' => [
                 'view' => function ($url, $model) {
                   return Html::a('<span class="glyphicon glyphicon-eye-open"></span>', $url);
                 },
                 'edit' => function ($url, $model) {
                   return Html::a('<span class="glyphicon glyphicon-pencil"></span>', $url);
                 },
                 'delete' => function ($url, $model) {
                   return Html::a('<span class="glyphicon glyphicon-trash"></span>', $url);
                 },
              ],
              'urlCreator' => function ($action, $dataProvider, $key, $index) {

                if ($action === 'view') {
                     return Url::to(['vendors/view', 'id' =>$dataProvider['ven_id']]);
                }
                if ($action === 'edit') {
                    return Url::to(['/vendors/update', 'id' =>$dataProvider['ven_id']]);
                }
                if ($action === 'delete') {
                   return Url::to(['/vendors/delete', 'id' =>$dataProvider['ven_id']]);
                }                    
                return $url;
            }
          ],
      ],
]); ?>
很抱歉添加了“答案”(无法添加评论,需要声誉>=50)

能否添加索引视图渲染文件

在我看来,这将是该文件中的一个错误,例如,适用于我的方法:

GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => [
        'name',
        ['class' => 'yii\grid\ActionColumn',
            'header' => 'Action',
            'template' => '{view} {edit} {delete}',
            'buttons' => [
               'view' => function ($url, $model) {
                 return Html::a('View', $url);
               },
               'edit' => function ($url, $model) {
                 return Html::a('Edit', $url);
               },
               'delete' => function ($url, $model) {
                 return Html::a('Delete', $url);
               },
            ],
        ],
    ],
]);

对于图标和型号->id,我想您需要这个

   GridView::widget([
      'dataProvider' => $dataProvider,
      'filterModel' => $searchModel,
      'columns' => [
          'name',
          ['class' => 'yii\grid\ActionColumn',
              'header' => 'Action',
              'template' => '{view} {edit} {delete}',
              'buttons' => [
                 'view' => function ($url, $model) {
                   return Html::a('<span class="glyphicon glyphicon-eye-open"></span>', $url);
                 },
                 'edit' => function ($url, $model) {
                   return Html::a('<span class="glyphicon glyphicon-pencil"></span>', $url);
                 },
                 'delete' => function ($url, $model) {
                    return Html::a('<span class="glyphicon glyphicon-trash"></span>', $url,[
                    'title' => Yii::t('yii', 'Delete'),
                    'data-confirm' => Yii::t('yii', 'Are you sure you want to delete this item?'),
                    'data-method' => 'post',
                ]);
                 },
              ],
              'urlCreator' => function ($action, $model, $key, $index) {

                if ($action === 'view') {
                    $url = Url::to(['/yourController/view', 'id' =>$model->id]);
                }
                if ($action === 'edit') {
                    $url = Url::to(['/yourController/edit', 'id' =>$model->id]);
                }
                if ($action === 'delete') {
                    $url = Url::to(['/yourController/delete', 'id' =>$model->id]);
                }                    
                return $url;
            }
          ],
      ],
  ]);
GridView::widget([
“dataProvider”=>$dataProvider,
“filterModel”=>$searchModel,
“列”=>[
“姓名”,
['class'=>'yii\grid\ActionColumn',
'标题'=>'操作',
'模板'=>'{view}{edit}{delete}',
“按钮”=>[
“查看”=>函数($url$model){
返回Html::a(“”,$url);
},
“编辑”=>函数($url$model){
返回Html::a(“”,$url);
},
'delete'=>函数($url$model){
返回Html::a(“”,$url[
'title'=>Yii::t('Yii','Delete'),
'数据确认'=>Yii::t('Yii','您确定要删除此项目吗?'),
“数据方法”=>“post”,
]);
},
],
“urlCreator”=>函数($action、$model、$key、$index){
如果($action=='view'){
$url=url::to(['/yourController/view',id'=>$model->id]);
}
如果($action=='edit'){
$url=url::to(['/yourController/edit',id'=>$model->id]);
}
如果($action=='delete'){
$url=url::to(['/yourController/delete',id'=>$model->id]);
}                    
返回$url;
}
],
],
]);

I have update my code你能告诉我我哪里错了吗使用你的代码视图、更新、删除按钮集而不是视图、更新、删除的图像试图获取非对象的属性在调用url$url=url::to(['/yourController/view',id'=>$model->id])后出现此错误;你能解释一下这一行吗?因为url不调用可能是id传递错误,因为PK表中的id是ven_IDB,但当我点击删除它时,这里有一个问题,给出错误方法不允许。此url只能处理以下请求方法:POST。添加此错误后,请给出我的错误建议。我在此行“数据”=>[“确认”=>“是否确实要删除此活动?”,“方法”=>“POST”,]);是语法错误,意外“=>”(T_双箭头)
   GridView::widget([
      'dataProvider' => $dataProvider,
      'filterModel' => $searchModel,
      'columns' => [
          'name',
          ['class' => 'yii\grid\ActionColumn',
              'header' => 'Action',
              'template' => '{view} {edit} {delete}',
              'buttons' => [
                 'view' => function ($url, $model) {
                   return Html::a('<span class="glyphicon glyphicon-eye-open"></span>', $url);
                 },
                 'edit' => function ($url, $model) {
                   return Html::a('<span class="glyphicon glyphicon-pencil"></span>', $url);
                 },
                 'delete' => function ($url, $model) {
                    return Html::a('<span class="glyphicon glyphicon-trash"></span>', $url,[
                    'title' => Yii::t('yii', 'Delete'),
                    'data-confirm' => Yii::t('yii', 'Are you sure you want to delete this item?'),
                    'data-method' => 'post',
                ]);
                 },
              ],
              'urlCreator' => function ($action, $model, $key, $index) {

                if ($action === 'view') {
                    $url = Url::to(['/yourController/view', 'id' =>$model->id]);
                }
                if ($action === 'edit') {
                    $url = Url::to(['/yourController/edit', 'id' =>$model->id]);
                }
                if ($action === 'delete') {
                    $url = Url::to(['/yourController/delete', 'id' =>$model->id]);
                }                    
                return $url;
            }
          ],
      ],
  ]);