Yii: Can not Display Data in Grid View

2019-09-17 09:49发布

问题:

I can't list data in grid using yii framework. My controller is Sitecontroller.php, My view is list_jobseeker.php.

I got the error:

Parse error: syntax error, unexpected '*', expecting ']' in C:\wamp\www\yii_new\framework\base\CComponent.php(612) : eval()'d code on line 1

Anybody give any suggestion to correct these issue?

My controller:

 public function actionlist_jobseeker()
  {
  $session_id=Yii::app()->session['user_id']; 
  if ($session_id == "")
    {
        $this->redirect( array('/employee/site/login'));
    }
  $user_id  =$session_id;
  $items = Yii::app()->db->createCommand()
     ->select('*')
     ->from('job_seeker_profile s')
     ->join('job_profile j','s.user_id = j.user_id')
     ->order('s.id')
     ->queryAll();
     $this->render('list_jobseeker',array('items' =>$items));
}

My view page - list_jobseeker.php

<h1>View Jobseeker</h1>

<div class="flash-success">

</div>

<div class="form">
<?php
 $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'rates-phase-grid',
   'htmlOptions' => array('class' => 'table table-striped table-bordered table-hover'),
    'dataProvider'=>new CArrayDataProvider($items),
    'columns' => array(
        array(
            'name' => 'Name',
            'type' => 'raw',
            'value' => 'CHtml::encode($data[*]->name)',
            'htmlOptions' => array('style'=>'width:90px;','class'=>'zzz'),

     ),
        array(
            'name' => 'Email',
            'type' => 'raw',
            'value' => 'CHtml::encode($data[*]->email)',
            'htmlOptions' => array('style'=>'width:250px;','class'=>'zzz')

        ),
        array(
            'name' => 'Password',
            'type' => 'raw',
            'value' => 'CHtml::encode($data[*]->password)',
            'htmlOptions' => array('style'=>'width:90px;','class'=>'zzz')
        ),
        array(
            'name' => 'Contact No',
            'type' => 'raw',
            'value' => 'CHtml::encode($data[*]->contact_no)',
            'htmlOptions' => array('style'=>'width:40px;','class'=>'zzz')

        ),
         array(
            'name' => 'Gender',
            'type' => 'raw',
            'value' => 'CHtml::encode($data[*]->gender)',
            'htmlOptions' => array('style'=>'width:40px;','class'=>'zzz')

        ),


        array(
            'class' =>'CButtonColumn',
            'deleteConfirmation'=>'Are you sure you want to delte this item?',
            'template'=>'{update}{delete}',

            'buttons' =>array('update'=>array(

             'label'=>'edit',
     'url'=>'Yii::app()->controller->createUrl("UpdateJob",array("id"=>$data["id"]))',

                ),
             'delete'=>array('label'=>'delete',
     'url'=>'Yii::app()->controller->createUrl("DeleteJob",array("id"=>$data["id"]))'),

                )
            )
          ),
));
?>

</tbody>

回答1:

change all the [*]

 $data[*]->name

to match columns

$data["name"]