CakePHP‘de modeller arasındaki ilişkilendirmeler diğer yazılarımda şurada ve şurada bahsetmiştim. Şimdi bu ilişkilendirmeleri daha ayrıntılı olarak inceleyeceğiz. CakePHP’de 4 ilişkilendirme bulunmaktadır:
- hasOne
- hasMany
- belongsTo
- hasAndBelongsToMany (HABTM)
hasOne
Bu ilişkilendirmede bir modele ait bir model bulunur.
|
<?php
| class Kullanici extends AppModel
| {
| var $name = "Kullanici";
| var $hasOne = "Profil";
| }
| ?> |
|
Burada Kullanici ve Profil adında iki farklı modelimiz var. İlişkilendirme sonucunda bir kullanıcının bir profili olur.
|
<?php
| class Kullanici extends AppModel
| {
| var $name = "Kullanici";
| var $hasOne = array("Profil"=>array("className"=>"Profil","dependent"=>true));
| }
| ?> |
|
Burada bir array kullanarak özellikleri biraz daha değiştirdik. İlk örnekteki ilişkilendirmelerde model isimlerinin de uygun olması gerekiyordu. Ama şimdi model ismini biz belirttiğimiz için sorun yok. “dependent” parametresini true yaptığımızda ise herhangi bir kullanıcı silindiğinde ona ait profil de silinir.