0

外部 Web サービスにアクセスするためのデータソースを作成しています。これは期待どおりに機能しますが、Web サービスの実行後に次のエラーが発生します。

CakeException: Cannot use modParams with indexes that do not exist.
in /project/lib/Cake/Utility/ObjectCollection.php on line 128

少しグーグルした後、私はこの同様の質問を見つけました:

このエラーは実際にはどういう意味ですか?

残念ながら、これは私の答えを解決するのに役立ちませんでした。

パラメータを削除 (または余分に追加) することをエラーが期待していることは理解していますが、これらのパラメータを編集するためにどこに設定しているのかわかりません。

4

1 に答える 1

2

(同じ問題を抱えている他の人を助けるために自分の質問に答えます!)

問題

私が持っていた問題AppModel、私は設定しましたpublic $actsAs = array('Containable');、私はこれを行うので、すべてのモデルが動作をアタッチしcontainableます(次に、デフォルトですべてのモデルに設定recursiveし、必要に応じて再帰を指定します(呼び出しで))。-1

したがって、この場合、私のdatasourceモデル ( と対話するために使用しますdatasource) にはcontainableビヘイビアが関連付けられていました (したがって、CakePHP はこれが正しいと判断し、通常のモデルに従って処理しました (これには関係がないか、またはデータベース テーブル)。

ソリューション

解決策は、単純にデータソース モデルを追加することでしたpublic $actsAs = false;(これにより、継承された動作が削除されましたcontainable)。

;)

于 2014-03-05T13:30:59.757 に答える