yii2 geliştirme uygulamasını test ettiğim ülke veritabanı tablosum var (the guide'da bulundu). Alanım population
var ve tüm belirli nüfus sınırlarını döndürmek için Country
modelinde bir genel yöntem oluşturmak istiyorum. Yani tüm nüfuslu ülkeleri x ve y arasında döndürün. CountryController olarakyii2 BaseActiveRecord findAll() koşulları
// models/Country.php
....
public function getPopulationBetween($lower, $upper)
{
return Country::findAll(['population' => [">=".$lower, "<=".$upper]]);
}
:
Aşağıdaki çalıştı Boş bir dizi i döndürürpublic function actionGetBetween($lower, $upper)
{
print_r(Country::getPopulationBetween($lower, $upper));
}
e Array()
Şimdi durumu nasıl ayarlanacağı bilmek gerekir 'un SQL koşulu gibi olması ... Where population >= 20000 AND population <= 40000000
örn. Bir diziyi kullanarak durumla karşılaştırma nasıl eklenir ?! findAll
çağrılırken
başka yan -veya seçime bağlı bir soru, Country.php içinde aşağıdaki Neden gibidir: Bu hata verir
public function getPopulationBetween($lower, $upper)
{
return $this->findAll(['population' => [">=".$lower, "<=".$upper]]);
}
: Başka bir deyişle
Unknown Method – yii\base\UnknownMethodException
Calling unknown method: app\controllers\CountryController::findAll()
neden bunu gerekir statik olarak mı adlandırıldı?
i) (bu '$ userDtls = Öğrenci :: modelini nasıl elde edebileceğini söyle lütfen edebilirsiniz -> findAllByAttributes (dizi ( 'id' => (patlayabilir", ", $ _POST ['studentIds']) )); yii2 –
@MikeRoss' Öğrenci :: findAll (['id' => $ studentIds]); 'yeterli olmalıdır. Verilerin varlığını '$ _POST 'olarak kontrol etmeyi ve kullanmadan önce doğrulamayı unutmayın." $ _POST "dan gelen verilere asla güvenmemelisiniz. – arogachev
Yani demek istediğim bu gibi bir şey yapmalıyım '$ id = $ _POST ['keylist']; $ result = Kullanıcılar :: findAll ($ id); '' fakat çalışmıyor ve hala sadece ilk veriyi aldım 'id' –