все это моя функция, которая возвращает поставщика данных в gridview.Невозможно получить доступ к активному положению yii2 из gridview
public function search($params)
{
$query = EventOrganizer::find()
->where(['event.approve' => 0])
->groupBy(['event.eventID']);
// add conditions that should always apply here
$query ->joinWith(['event', 'organizer']);
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
$this->load($params);
$query->select(['event.eventID','event.title','event.startDate','event.startTime','event.endDate','event.endTime',
'event.photo','event.description','event.location','event.approve',
"GROUP_CONCAT(CONCAT(`organizer`.`name`,\" \", `organizer`.`organizerID`)) AS Name"])
->andFilterWhere(['like', 'event.eventID', $this->eventID])
->andFilterWhere(['like', 'organizer.organizerID', $this->organizerID]);
return $dataProvider;
}
Ниже приводится часть моего кода в виде сетки. Когда я пытаюсь получить доступ к данным внутри поставщика данных, я не мог получить доступ к столбцу, который у меня был с помощью group_concat.
[
'label'=> 'End Time',
'attribute' => 'GROUP_CONCAT(CONCAT(`organizer`.`name`,\" \", `organizer`.`organizerID`)) AS Name',
],
Я был в состоянии получить доступ к другим данным следующим образом:
[
'label'=> 'End Date',
'attribute' => 'event.endDate',
],
это доказать, что мой провайдер данных содержит данные, у меня есть попробовать несколько способов, но я до сих пор не может получить доступ в теме. Может ли кто-нибудь помочь мне в этом?
Попробуйте без тиков '': "GROUP_CONCAT (CONCAT (organizer.name, \" \ ", organizer.organizerID)) AS Name" –
Также в модели поиска объявляют виртуальный атрибут $ Name и в атрибуте Grid 'attribute' => 'Имя' –