gpt4 book ai didi

PHP Doctrine 与命名空间的关系

转载 作者:行者123 更新时间:2023-12-02 05:14:38 24 4
gpt4 key购买 nike

我刚开始使用 PHP 命名空间。我在不同的文件中有两个模型类

在两个文件中我首先声明命名空间

命名空间 eu\ed\sixImport\importViewer\models;

头等舱:

类日志扩展\Doctrine_Record

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

二等舱:

类数据源扩展\Doctrine_Record

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

一切正常,直到我做出这样的东西

    $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

比 Doctrine 抛出异常在 C:\wamp\www\importViewer\resources\doctrine\Doctrine-1.1.5\lib\Doctrine\Table.php:293...

从 Exception 中,您可以看到,它查找类 'eu\ed'。反斜杠[s] 截断类名的其余部分,显然找不到类。你能给我一些建议,如何解决这个问题吗?

谢谢

最佳答案

我不确定 Doctrine 1 是否支持 namespace 。我真的推荐使用 Doctrine 2 - 它建立在成熟的架构之上(使用来自 Java Hibernate 的 API)并且不像 Doctrine 1 那样涉及那么多魔法。

关于PHP Doctrine 与命名空间的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1803326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com