我被迫在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次没有问题,但现在它只是拒绝为我工作。
真的希望你们能帮助我!
答案 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对象,或者为什么没有正确生成它。