0

'inputs'を使用してフォームを生成しようとすると、いくつかの問題が発生します

<?php 
  echo $this->Form->create('Post');
  echo $this->Form->inputs(array( 'legend' => 'Personal information', 'name', 'nickname', 'age', 'email')); 
  echo $this->Form->inputs(array( 'legend' => 'Employment information', 'company', 'started_work', 'description')); 
?>

出力:警告(2):array_keys()は、パラメーター1が配列であると想定しています。[CORE \ Cake \ View \ Helper \ FormHelper.php、848行目]を指定するとnullになります。

$ this-> Form-> create('Post');を削除すると 正常に生成されますが、出力がありません...

4

1 に答える 1

1

次のことをダブルトリプルチェックしましたか?a)
Post.phpモデルが存在し、正しく名前が付けられている
b)投稿テーブルがデータベースに存在する
c)アプリがデータベースに接続しているOK?

FormHelperが'_introspectModel'メソッドを呼び出し、nullを返すと、エラーが発生します。_introspectModelメソッドは、モデル内のフィールドなどに関する情報を返すことになっています。ただし、モデルから必要な情報を取得できない場合は、配列ではなくnullを返します。これが、発生しているエラーの原因です。

Postモデルに関連するすべてを再確認し、それでもエラーを修正できない場合は、質問を更新して、Postモデルからコードを貼り付けてください。

于 2013-03-25T11:15:53.617 に答える