Я просто пытаюсь настроить модели с пространствами имен. Эта часть проста. Это часть отношений, с которой мне сложно провести время.Phalcon: отношения модели с пространствами имен
У меня есть эти две модели (они раздевают вниз):
<?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();
... который довольно многословный, но все же. Я все еще получаю ошибку «метод не существует».
Что мне не хватает?
Это именно то, с чем я столкнулся сегодня. Спасибо. Для кого-либо еще, попробуйте это, это работает –
Мне потребовались часы, чтобы понять это! Я сделал то же самое для каждого hasMany, ownTo и hasManyToMany, и он исправил все мои проблемы :) – user1855153