Bazı verileri görüntülemek için özel bir sorgu kullanıyorum ve bu verileri dataProvider'da kaydettiğim bir proje üzerinde çalışıyorum. Dosyayı görüntülemek ve Listview
kullanarak görüntülemek için bu dataProvider iletiliyor. Sadece o Listview
için search
çubuğu uygulamak isteyen Liste görünümü ve özel dataprovider araması yii2
<nav class="navbar navbar-fixed-top">
<form class="navbar-form navbar-left search-form" action="">
<div class="form-group"><input type="text" class="form-control app-search" placeholder="Search">
</div>
</form>
</nav>
<div class="panel-group" id="accordion">
<?= \yii\widgets\ListView::widget([
'dataProvider' => $dataProvider,
'itemView' => 'eventlistview',
'layout' => "{items}",
]); ?>
</div>
aşağıda gibi.
SearchModel
kullanmıyorum, bu yüzden bunu nasıl yapabilirim diye kafam karıştı mı?
İşte benim action
kod. i event
ait title
kullanarak arama yapabilirsiniz bilmiyorum bu yüzden burada herhangi bir arama modeli kullanılarak değilim çünkü
public function actionEvent()
{
$this->layout = 'app';
if(isset($_GET['latitude']) && isset($_GET['longitude'])){
$query = new Query();
$query ->select(['e.*','COUNT(d.event_id) as checkins' ,'o.clubname',new Expression("case when c.id is not null then 1 else 0 end is_checkedin")])
->from('event e')
->innerJoin('organiser o', 'e.organiser_id = o.organiser_id')
->leftJoin('checkin c', 'c.event_id = e.id and c.user_id ='.$_GET['user_id'])
->leftJoin('checkin d', 'd.event_id = e.id')
->where('e.interest_id IN
(SELECT area_intrest.id FROM area_intrest, user WHERE FIND_IN_SET(area_intrest.id,user.area_intrest) AND user.id='.$_GET['user_id'].')')
->groupBy('e.id');
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
}
return $this->render('event' ,['dataProvider' => $dataProvider]);
}
Sadece karıştı.
İki şey ... 1) tüm ilgili eylem kodu gösterin ... .2) Filtreniz için sorgu isteğini görünümünüzden nasıl gerçekleştirirsiniz? – scaisEdge
@scaisEtkinlik kodunun var olduğunu doğrulayın. ve 'GET' kullanarak url'den gerekli verileri aldım. Ben herhangi bir filtre kullanmıyorum. 'Eventlistview' kullanıyorum düzeninin kodunu ekleyebilirim, ancak bu sorunu nasıl çözeceğimi bilmiyorum. –
$ _ GET ['latitude'] ve $ _ GET ['longitude'] öğelerini ve nereden geldiklerini açıklayabilir misiniz? ... çünkü sorguda görüntüledikleri için bu alanlara herhangi bir başvuru görmüyorlar – scaisEdge