In siteControllerI am writing an array of queries from dataProviderto index.phpto display in table form. In index.phpI want to display member nameinstead memberID. To do this, I am writing an internal query and successfully running on the command line successfully. I can't print first nameinstead. ' member id'
public function actionIndex()
{
$query = new \yii\db\Query;
$query->select(['member.firstName',
'complaint.practiceCode','complaint.id',
'complaint.description','member.firstName'])
->from(['complaint'])
->innerJoin(['member','complaint.memberID = member.id'])
->groupBy(['complaint.id'])
->where(['complaint.deleted' => 'N']);
$query->createCommand();
Here I have the pass data when creating $dataProvider4, but I cannot set the value firstNameinstead memberID.
$dataProvider4= new ActiveDataProvider([
'query' => $query,
'pagination' => false,
]);
return $this->render('index', [
'dataProvider4'=>$dataProvider4]);
<?= GridView::widget([
'dataProvider'=>$dataProvider4,
'summary'=>'Total'.' <b>'.$complaintModel.'</b> '.'Complaints',
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'practiceCode',
'description',
'status',
],
]); ?>
I have transfer data through dataProvider.
source
share