Hi guys,
I read out records of database using GridView:: widget like this:
<?=
GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => $gridColumn,
.
.
.
$gridColumn
will be defined like this
[size="2"]
.
.
.
[
'attribute' => $anrede,
'label' => Yii::t('app', 'Anrede'),
'format' => 'html',
'value' => function($model) {
$nummer_art = "verwendungszweck";
return
"<div id=''><ul><li><span class='glyphicon glyphicon-filter'></span>" . " " .
LKontaktVerwendungszweck::getVerwendungszweck_all($model)->verwendungszweck .
"<div id=''><ul><li><span class='glyphicon glyphicon-filter'></span>" . " " .
LKontaktVerwendungszweck::getVerwendungszweck_one($model, $nummer_art)
}
],
.
.
.
[/size]
[size="2"]My problem is following:[/size]
[size="2"]
"<div id=''><ul><li><span class='glyphicon glyphicon-filter'></span>" . " " .
LKontaktVerwendungszweck::getVerwendungszweck_all($model)->verwendungszweck
[/size]
[size="2"] will throw out error
Trying to get property of non-object
'cause method reurns an array. Here is code of method:[/size]
[size="2"]
public function getVerwendungszweck_all($model) {
return LKontaktVerwendungszweck::find()
->leftJoin('kontakt_telefon', 'l_kontakt_verwendungszweck.id=kontakt_telefon.id_kontakt_verwendungszweck')
->leftJoin('e_kontakt', 'kontakt_telefon.id_e_kontakt=e_kontakt.id')
->leftJoin('bewerber', 'e_kontakt.id_person=bewerber.id_person ')
->where(['bewerber.id_person' => $model::findOne([$model->id])->id_person])->all();
}
[/size]
[size=“2”]I could exploit return value of this method using foreach, but I can’t use foreach in GridView. Any ideas how to get all values of this tables?[/size]
[size=“2”]Here is code exploting return vlaues of method, which I can’t use by now in GridView[/size]
[size="2"]
<?php $x = 1;
foreach ($query_all as $attributes) {
if ($x == 1)
echo $attributes->verwendungszweck . ",";
else
echo $attributes->verwendungszweck;
$x++;
}
?>
[/size]