致命错误:调用未定义的方法QQN :: navigation()

时间:2013-05-29 07:20:05

标签: qcodo

我被迫在6年前在qcodo上建立的网站上工作。我现在已经做了几年的工作,并且根据需要熟悉了它。文档虽然很糟糕,但现在我陷入了一个让我疯狂的问题。

我试图让菜单动态化。所以我制作了一个 导航 表,完全按照惯例进行设置,使用了代码生成器并制作了我的模型等。

事情是:它不像以前那样工作,我没有CLUE问题是什么。

当我在像QQ这样的QQ条件中使用Navigation类时,例如:

$root = Navigation::QueryArray(QQ::AndCondition(QQ::Equal(QQN::Navigation()->ParentId, $id), QQ::LessOrEqual(QQN::Navigation()->Rights, $objUser->Rights)), QQ::Clause(QQ::OrderBy(QQN::Navigation()->Position)));

弹出标题中的错误。我可以做Navigation::LoadAll();并且工作正常,但是一旦我尝试使用QQ条件,我就会收到错误声明它无法找到导航。

我使用同样的过程大约10次没有问题,但现在它只是拒绝为我工作。

真的希望你们能帮助我!

1 个答案:

答案 0 :(得分:2)

它抱怨的类只在核心代码中有一个引用。

QApplicationBase::$ClassFile['qqn'] = __DATAGEN_CLASSES__ . '/QQN.class.php';

你说你正在使用代码生成器,所以我希望已经生成了这个类。

您看到的确切错误是Call to undefined method QQN::navigation(),这意味着:

i)您的代码能够找到“QQN”类。

ii)文件__DATAGEN_CLASSES__ . '/QQN.class.php'中定义的可能类“QQN”不包含名为Navigation的函数。

如果你有一个navigation表,并且正在运行代码生成器,它显然应该可以作为QQN :: Navigation()使用,这意味着你要么没有运行代码生成器,要么它运作不正常。

解决这个问题的唯一方法是逐步执行代码生成器,看看为什么它不是拿起你的Navigation对象,或者为什么没有正确生成它。