Ben ORM ile Kohana 3.0.6 kullanıyorum.
Ben "kamyon" adında bir modeli var ve onun masasında onun yapıcı kimliği ile bir sütun ("yapıcı") var. Sonra onun tabloda id ve adı ile "yapıcı" modeli var.
Ben yapmaya çalışıyorum basit ben doğrudan üreticisi isimlerini alabilirsiniz yüzden kamyonların listesini görüntülemek zaman SOL-JOIN.
İşte benim "kamyon" model:
<?php defined('SYSPATH') or die('No direct access allowed.');
class Model_Truck extends ORM {
// Database settings
protected $_db = 'default';
protected $_table_name = 'trucks';
protected $_primary_key = 'id';
//Tried adding this but doesn't seems to work
protected $_has_one = array('maker' => array('model' => 'maker') );
// Table fields
protected $_table_columns = array(
'id' => array('data_type' => 'int', 'is_nullable' => FALSE),
'serial' => array('data_type' => 'string', 'is_nullable' => FALSE),
'maker' => array('data_type' => 'string', 'is_nullable' => FALSE),
'model' => array('data_type' => 'string', 'is_nullable' => FALSE),
'year' => array('data_type' => 'int', 'is_nullable' => FALSE),
);
}
Gördüğünüz gibi ben de bir yere diyorlar ama (doc özellikle versiyonu için, biraz eksik proprely işe gelemedi "() ile" gördüm ama, ben, "has_one" eklemek için bu hattı kullanan ediyorum 3.xx).
protected $_has_one = array('maker' => array('model' => 'maker') );
Burada çıktı yapımcısı adını (bu satırlar boyunca bir şey) için görünümde kullanıyorum çizgi:
foreach ($trucks as $t) {
echo($t->maker->name);
}