İsim alanları ile PHP Doktrini ilişkisi

1 Cevap php

ben sadece PHP ad kullanmaya başladı. Ben ayrı dosyalarda iki model sınıfları var

Her iki dosya i ilk ad bildirmek

eu \ ed \ sixImport \ importViewer \ modellerini namespace;

first class:

sınıf Log \ Doctrine_Record uzanır

    $this->hasMany('eu\ed\sixImport\importViewer\models\DataSource as DataSource', array(
        'local' => 'id',
        'foreign' => 'logId'));//setup relationship in setUp method

second class:

sınıf DataSource \ Doctrine_Record uzanır

    $this->hasOne('eu\ed\sixImport\importViewer\models\Log as Log', array(
        'local' => 'logId',
        'foreign' => 'id'));//setup relationship in setUp method

Her şey ben böyle bir şey yapmak cezası e kadar çalışıyor

    $query = \Doctrine_Query::create()
        ->select('log.*')
        ->from('eu\ed\sixImport\importViewer\models\Log log')
        ->leftJoin("log.DataSource")
        ->orderBy("log.id DESC");

    $requiredPage = (($startingRow - ($startingRow%$rowsRequired))/$rowsRequired) + 1;
    $pager = new \Doctrine_Pager($query, $requiredPage, $rowsRequired);
    $res = $pager->execute();        
    $this->logsPageCount = $pager->getNumResults();
    print_r($res[0]["DataSource"]->toArray());//it fails on access to relationship

Than Doctrine throw Exception Uncaught exception 'Doctrine_Exception' with message 'Couldn't find class eu\ed' in C:\wamp\www\importViewer\resources\doctrine\Doctrine-1.1.5\lib\Doctrine\Table.php:293...

İstisna itibaren görebilirsiniz, bu sınıf 'eu \ ed' arar. Backslash [s] sınıf adının kalan kesim, sınıf ve açıkçası bulunamadı daha. Eğer bu sorunu çözmek için nasıl, bana bazı öneri verebilir misiniz?

Teşekkürler

1 Cevap

Doktrin 1 ad destekliyorsa, ben emin değilim. Gerçekten Doktrini 2 kullanarak tavsiye - (Java hazırda API ile) olgun mimarisi üstüne inşa edilmiş ve Doktrin 1 gibi o kadar sihirli anlamına gelmez.