(tek tablo kullan diyebilirsiniz ama 2 ayrı tablo kullanmam şart)
bunu normal php sayfası ile innerjoin ile alıyorum fakat yii’de,bunu beceremedim.
rica ediyorum bir arkadaşımız bana bunları nerede kullanacağım ile ilgili bir örnek verebilirmi? ya da, bana nasıl yapılacağını anlatabilirmi? 3-4 gündür araştırıyorum fakat nasıl yapabileceğimi bulamadım.
ingilizcem de çok iyi olmadığı için, olayın mantığını anlamam için neyin nereye?
yani controllere neleri, modellere neleri ve viewlere neleri koymam gerektiği konusunda çok ufakta olsa bir bilgi verebilirmisiniz bana? çok basitte olsa bir örnek dosyası varmı?
eğer bu mantığı çözersem ilerleyebileceğim kanısındayım.
/models/Uyeler.php dosyandaki ilişkilerin tanımlandığı relations metodunuzda ilişkiyi tanımlamanız sizin için yeterli olacaktır.
public function relations()
{
return array(
'detay'=>array(self::HAS_ONE, 'detaylar', 'uyeler_id'),
);
}
Controller dosyanızdaki sorgularınızda şu şekilde kullanabilirsiniz,
//Uyeler modelinizdeki tanımlı olan "detay" ilişkisi ile birlikte üyeler tablosundaki tüm bilgiler getirilir,
$uyeList = Uyeler::model()->with('detay')->findAll();
//Uyeler tablonuzdaki 123 kaydınıza ait "detay" ilişkisi ile birlikte bilgiler getirilir
$birUye = Uyeler::model()->with('detay')->findByPk(123);
sorgunuzun sonucunu aktardığınız ve render ettiğiniz view dosyanızda
//$uyeList değişkeninize ait bilgileri şu şekilde yazdırabilirsiniz
foreach($uyeList as $uye){
echo $uye->detay->uye_turu;
}
//$birUye değişkeninize ait bilgileri şu şekilde yazdırabilirsiniz
echo $birUye->detay->uye_turu;
Daha önce frameworkle çalışmadıysanız ve yanlış anlamazsanız dost tavsiyesi olarak, küçük veya orta çaplı projelerde kullanabileceğiniz Codeigniter veya Laravel gibi Türkçe kaynağı bol olan frameworklerle başlayabilirsiniz. Böylelikle frameworkle birlikte OOP veya MVC mantığınıda daha kolay öğrenebilirsiniz. Kendinizi bunlarda geliştirdikten sonra bu frameworke geçmeniz sizi fazla zorlamayacaktır.
Bu yüzden Yii Framework ü sonraki adımlarda kullanırsanız daha doğru olabilir.
Fakat tek satırda basit bir şekilde çözülebilen işlemler için bu kadar çok satır ve uzun kodları kullanmanızı önermem,
Satır sayısı arttıkça hata yapma olasılığı artar, kodların revize edilme süresi uzar ve daha fazla dikkat ederek kontrollü bir şekilde işlemlerinizi yapmanız gerekir.
Laravel ve Codeigniter i amaç olarak değil araç olarak kullanabilirsiniz.