2

私は 6 年前に qcodo で構築されたサイトで作業することを余儀なくされました。私は数年前からいくつかの作業を行っており、必要なだけ慣れてきました。ドキュメントはひどいものですが、今では文字通り私を夢中にさせている問題に行き詰まっています。

メニューを動的にしようとしていました。そこで、ナビゲーションテーブルを作成し、通常どおりにセットアップし、コードジェネレーターを使用して、モデルなどを作成しました。

問題は、以前のように機能していないだけで、何が問題なのか手がかりがありません.

たとえば、次のように使用する 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 回使用しましたが、今ではうまくいきません。

皆さんが私を助けてくれることを本当に願っています!

4

1 に答える 1

2

文句を言っているクラスは、コア コードに 1 つの参照しかありません。

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

あなたはコード ジェネレーターを使用していると言うので、そのクラスが生成されていることを期待していたでしょう。

表示されている正確なエラーは、次のことCall to undefined method QQN::navigation()を意味します。

i) あなたのコードはクラス 'QQN' を見つけることができます。

ii)おそらくファイルで定義されているクラス「QQN」に__DATAGEN_CLASSES__ . '/QQN.class.php'は、Navigation という関数が含まれていません。

また、navigationテーブルがあり、コード ジェネレーターを実行している場合は、明らかに QQN::Navigation() として利用できるはずです。これは、コード ジェネレーターを実行していないか、正しく動作していないことを意味します。

これを理解する唯一の方法は、コード ジェネレーターをステップ実行して、Navigation オブジェクトが取得されない理由、または正しく生成されない理由を確認することです。

于 2013-06-08T12:48:20.517 に答える