gpt4 book ai didi

model - Phalcon:与命名空间的模型关系

转载 作者:行者123 更新时间:2023-12-04 16:51:02 25 4
gpt4 key购买 nike

我只是想用命名空间设置模型。那部分很简单。这是我遇到困难的关系部分。

我有这两个模型(这些被剥离了):

<?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();

......这是相当冗长的,但无论如何。我仍然收到“方法不存在”错误。

我错过了什么?

最佳答案

行。经过很多时间试图弄清楚这一点,然后在发布后 5 分钟,我明白了......

必须使用别名:

$this->hasMany('id', 'My\\App\\V1\\Models\\Movies', 'genre_id', ['alias'=>'Movies']);

我会把它留在这里给任何可能需要它的人。

关于model - Phalcon:与命名空间的模型关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26680807/

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