関連するソース コードはありませんが、通常、これをコンポーネント ファイルの先頭またはコンポーネント ファイルに追加します。
初め:
App::uses('Content', 'Model');
また、init または construct メソッドに次のようなものを追加する必要がある場合があります。
$this->Content = ClassRegistry::init('Content');
これにより、最初の問題が解決されるか、何がうまくいかないかについて明確な説明が得られるはずです。実際、このコードはすでに正しく独立した機能ではなかった可能性があります。
モデルが別のコードに既にロードされていることに依存していると思われるため、おそらく機能しました。コンポーネントは他のコードに依存せずに機能する必要があるため、App::uses、App::import などのステートメントを追加すると、コードが常に機能します。たとえば、他のプロジェクトで再利用する場合などです。
2番:
2 番目の問題は、実際には移行の問題です。モデルが最初に Component クラスを拡張していることを確認してください。
次に、カスタムメソッド __construct() だけでなく init() も実装する場合は、親への呼び出しを追加する必要があるかどうかを確認してください。たとえば、これは beforeFilter コントローラ メソッドに適用されます。
public function beforeFilter() {
parent::beforeFilter();
}
ドキュメントとコード例: http://book.cakephp.org/2.0/en/controllers.html#the-app-controller
関連するドキュメント: http://book.cakephp.org/2.0/en/appendices/2-0-migration-guide.html#components