2016-04-12 21 views
0

Dün Yii2'nin ActiveForm'unda bir sorunla karşılaştım. Sitem için bir arama formu hazırlıyorum ancak tüm tha araçlarını listeleyen sayfayı yüklediğimde (burada arama formunu alır), null istisnasındaki bir üye fonksiyon formName() çağrılır. Önce DataProvider'ı $ modelini kullanmak için değiştirdim, $ dataProvider her zaman NULL döndürdü. $ Modelinde dönen verileri döktüğümde, tabloda saklanan tüm verileri görebilirim. (Şimdiye kadar çok iyi) Amacım, örneğin UserGroups'u arama koşulu olarak basmak olurdu.Yii2, Arama için ActiveForm'u kullanın

Ne düşünüyorsun, sorun ne olabilir? ActiveForm'un boş olmayan herhangi bir ilgili veri kaynağını alamadığı, ancak yazdığı gibi $ modelinde veri aldığım açıktır.

Kontrol dosyası:

/** 
    * Aktív gépkocsik listázása 
    * @return string 
    */ 
    public function actionIndex() { 
     $this->vanJogosultag(Url::current(), self::VIEW); 
     $dataProvider = new ActiveDataProvider([ 
      'query' => Gepkocsi::find(), 
     ]); 

     $model = Gepkocsi::find()->all(); 

     return $this->render('lista', array('dataProvider' => $dataProvider, 'model' => $model)); 
} 

_search.php (olmuş arama formunda kısmi)

<!-- Gépkocsi felhasználói csoport --> 
     <div class="offset col-xs-8 col-xs-offset-2"> 
      <?= $form->field($model['rendszam'], 'rendszam')->textInput() ?> 
     </div> 

görüntüle dosya g liste görünümünde

, kısmi içerir
<?= $this->render('_search', [ 
     'model' => $model 
    ]); ?> 

Yanıtlarınız için teşekkür ederiz! İyi günler!

Gabor

cevap

0

Neden modeli olduğu gibi tüm öğeyi aramak için veri sağlayıcısı sorguyu değiştirmek?

$dataProvider = new ActiveDataProvider([ 
    'query' => Gepkocsi::find()->all(), 
]); 
+0

Aynı sayfada bir DetailView widget'i kullanıyorum ve bu widget bu tür bir sonucu bekler. Denedim ama işe yaramıyor, bu hatayı atar: ** "sorgu" özelliği, QueryInterface'i uygulayan bir sınıfın örneği olmalıdır. yii \ db \ Query veya alt sınıfları. ** – Gabesz

0

Sorunumun çözümünü buldum. Tamamen benim suçumdu. Çözelti, idi ve sadece Gepkocsi modelinin yeni bir örneğini oluşturdu ve onu kısmi'a aktardı ve işe yarıyor. Cevaplarınız ve çabanız için teşekkürler!