gpt4 book ai didi

php - 在带有命名空间的 Phalcon 中使用相关模型

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

我一直在与 Phalcon 合作并慢慢掌握它。但是,我偶然发现了一个问题,这让我很难过。我希望其他人可以提供一些帮助。

我在数据库中有两个表,它们是一对多的。客户->网站。这些是 Phalcon 中模型的两个定义:

#File: CrmClients.php
namespace CRM\Models;
use Phalcon\Mvc\Model\Resultset\Simple as Resultset;

class CrmClients extends \Phalcon\Mvc\Model
{
public id;

public function initialize()
{
$this->hasMany("id", "CRM\Models\CrmSites", "client_id", array("alias" => "Sites"));
}
}

#File: CrmSites.php
namespace CRM\Models;

class CrmSites extends \Phalcon\Mvc\Model
{
public id;
public client_id;

public function initialize()
{
$this->belongsTo("client_id", "CRM\Models\CrmClients", "id", array("foreignKey" => true, "alias" => "Clients"));
}
}

然后在 Controller 中我有:
$profile = Clients::findFirstById($id);
$sites = $profile->Sites;

当我运行它时,我最终出现以下错误:

Notice: Access to undefined property CRM\Models\CrmClients::Sites in \html\apps\crm\controllers\ClientsController.php on line 51



我不知道我在这里做错了什么,任何帮助将不胜感激。

如果您有任何疑问,或需要任何说明,请提问。

提前感谢您的帮助。

最佳答案

经过大量审查和 Phalcon 论坛的一些帮助。结果发现代码没有任何问题。

问题归结为“用户错误”,因为我在两个单独的模块中有两个 CrmClients.php 文件的副本。我在错误的文件夹中编辑了 CrmClients,因此带有 CrmSites.php 的 CrmClients.php 文件根本没有初始化功能 - 可能是为什么它没有找到关系......

因此,我添加了 initialize 函数并且它运行良好。

@digitronic:非常感谢您的帮助。

再次感谢。

关于php - 在带有命名空间的 Phalcon 中使用相关模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25141181/

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