public function kategorie() {
$sql = 'select nazwa_miejsca,sum(ocena) as ocena from tbl_ocena3,tbl_miejsce where tbl_ocena3.id_miejsce = tbl_miejsce.id and tbl_miejsce.id_kategorie = 10
group by 1';
$select = Yii::app()->db->createCommand($sql)->queryAll();
foreach ($select as $wynik){
echo $wynik['nazwa_miejsca'];
}
}
niestety metody poszczególnych kolumn zwracają rózne rezultaty zapytań 1 lub kilka wierszy, jak stworzyć dynamiczną długość kolumn bootstrap.widgets.TbGridView (np. puste wiersze wypełnić tekstem(null) lub grafiką)
Chodzi o to, że w jednej komórce wyświetlasz więcej niż jedną wartość i chcesz, żeby każda była w osobnej linii, ale żeby przy braku wartości była pusta linia, aby wartości w dwóch kolumnach pasowały do siebie?
Ustawiłeś już typ kolumny na ‘raw’, możesz więc dodawać w wartości kod html. Wstaw po każdej wartości złamanie wiersza ‘<br/>’.
foreach ($select as $wynik){
echo $wynik['nazwa_miejsca'].'<br/>';
}
ale znacznik <br/> nie rozwiązał sprawy, na wejsciu w widoku tablicy mam 3 wiersze ale to chyba jest powodowane tym że w bootstrap.widgets.TbGridView mam ustawione ‘dataProvider’ => Miejsce::model()->search(), może wystarczyć umiejetnie podpiąć dataProvider i będzie ok?Tylko jak?
Nie wiem co złego w tym, że masz 3 wiersze. Podajesz za mało informacji.
DataProvider przekazany jest prawidłowo, jedyna (drobna) różnica to taka, że powinieneś utworzyć normalny model w scenariuszu ‘search’ i z niego wywołać metodę search():
$miejsce = new Miejsce('search');
$dataProvider = $miejsce->search();
Dzięki temu możesz w modelu ustawić wartości atrybutów, używanych przez metodę search do zbudowania kryteriów.
Ten kod jest działający? Bo z dokumentacji wynika, że typ właściwości value powinien być string, a Ty masz array. Czegoś nie rozumiem? Następnie zaczynasz definiować columns w columns, tak ma być?