Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

Zend Framework addReference Sorunu

Medüler bir sistemde kullandığım veritabanlara referencemap belirtiyorum
class App_Meta_Db extends Zend_Db_Table {
    protected $_name = 'meta';
    protected $_primary = 'Id';
    protected $_dependentTables = array();
    protected $_referenceMap = array(
        'News'=> array (
		'columns'=>array('Id'),
	         'refTableClass'=>'News_Model_DbTable_News',
		'refColumns'=>array('MetaId'),
		'onDelete'  => self::CASCADE,
    		'onUpdate'  => self::CASCADE
		)
	);
}
<?php
class News_Model_DbTable_News extends Zend_Db_Table
{
    protected $_name = 'news';
    protected $_primary = array('Id');
    protected $_dependentTables = array('App_Meta_Db');
}

Gibi. burada meta tablosındaki Id'yi News tablosundaki MetaId'ye bağlıyorum bu şekilde sorun yok fakat moduler bir yapıya sahip olduğu için her bir modul ekleme işlemini gerceklestirdiğim zaman MetaId.php dosyasına moduldeki gerekli olan referencemapı eklemem gerekiyor.

bunun yerine zend framework kodlarını biraz kurcaladıktan sonra Zend_Db_Table_Abstract Classın altında addReference fonksiyonu buldum fakat ne yaptıysam bu fonksiyonu kullandıgımda tablonun _referenceMap'na ekleme gerçekleştiremedim ve zendin kendi sayfasındada bununla ilgili açıklama bulunmuyor.

Kullandığım Örnek kod su sekilde
$db = new News_Model_DbTable_News();
$db->addReference('News1', array('Id'), 'News_Model_DbTable_News', array('MetaId'),"cascade","cascade");
$pq = $db->getById('1');
$pq = $pq->current();
$pa = $pq->findDependentRowset('App_Meta_Db','News1');

alınan hata
No reference rule "News1" from table App_Meta_Db to table News_Model_DbTable_News

Yardımlarınızı bekliyorum. Şimdiden teşekkurller.
+1
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • park adlı üyenin fotoğrafı
    11 yıl önce yazılmış
    14 cevap - 0 soru
    'App_Meta_Db','News1.id'

    şeklinde bir deneyin. İki tablonun da primary id 'id' şeklinde. Bu nedenle id ler çakışıyor olabilir.
    • by_hidrojen adlı üyenin fotoğrafı by_hidrojen
      oradaki news1 değeri herhangibir tablo yada db değeri değil referancemap çağrılırken kullanılan ruleKey değeridir.
      11 yıl önce yazılmış