【发布时间】:2014-10-31 18:00:22
【问题描述】:
我只是想建立带有命名空间的模型。那部分很简单。这是我遇到困难的关系部分。
我有这两个模型(这些都被剥离了):
<?php
namespace My\App\V1\Models;
class Movies extends \My\Namespace\Path\Base
{
}
?>
<?php
namespace My\App\V1\Models
class Genres extends \My\Namespace\Path\Base
{
public function initialize()
{
$this->hasMany('id', 'Movies', 'genre_id');
}
public function howManyMovies()
{
return $this->countMovies();
}
}
?>
所以...按原样,这会给我:
Cannot redeclare class My\App\V1\Models\Movies ....
所以,我开始认为它与命名空间有关。所以...我将 hasMany 更改为:
$this->hasMany('id', 'My\\App\\V1\\Models\\Movies', 'genre_id');
我可以在“我的”前面加上反斜杠,但无论哪种方式,我都会得到:
The method "countMovies" doesn't exist on model "My\App\V1\Models\Genres"
我尝试将该行更改为:
return $this->countMyAppV1ModelsMovies();
... 这很冗长,但无论如何。我仍然收到“方法不存在”错误。
我错过了什么?
【问题讨论】:
标签: model namespaces phalcon magic-function