Je viens de commencer à utiliser les espaces de noms PHP. J'ai deux modèles des classes dans des fichiers séparésPHP Doctrine relation avec les espaces de noms
Dans les deux fichiers d'abord, je déclare l'espace de noms
espace de noms eu \ ed \ sixImport \ \ importViewer modèles;
première classe:
classe Log étend \ Doctrine_Record
$this->hasMany('eu\ed\sixImport\importViewer\models\DataSource as DataSource', array(
'local' => 'id',
'foreign' => 'logId'));//setup relationship in setUp method
deuxième classe:
classe DataSource étend \ Doctrine_Record
$this->hasOne('eu\ed\sixImport\importViewer\models\Log as Log', array(
'local' => 'logId',
'foreign' => 'id'));//setup relationship in setUp method
Tout fonctionne bien jusqu'à ce que je fais quelque chose comme ça
$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
que la doctrine Exception exception jet Uncaught 'Doctrine_Exception' message 'Impossible de trouver la classe eu \ ed' dans C: \ wamp \ www \ importViewer \ ressources \ doctrine \ Doctrine-1.1.5 \ lib \ Doctrine \ Table.php: 293 ...
D'exception, vous pouvez voir, il cherche la classe 'eu \ ed'. Backslash [s] couper le reste du nom de la classe, et que la classe n'est pas évidemment trouvé. Pouvez-vous me suggérer comment résoudre ce problème?
Merci
Deux choses; un, quelle est votre version de PHP? Deuxièmement, essayez d'utiliser des guillemets doubles et des doubles barres obliques inverses. Cela ne devrait pas faire la différence, mais on ne sait jamais. – Qix