0

表形式の入力に関するこのチュートリアルhttp://www.yiiframework.com/doc/guide/1.1/en/form.tableに従いましたが、行き詰まりました。

入力を埋める以外はすべて正常に機能します。だから、誰かがすべてのフィールドを埋めて、私がそうするとき

$model->attributes=$_POST['RacingTable'];

それは私のエントリを選択せず​​、ユーザーがすべてを入力せず、エラーを表示すると思われる場合、入力からすべてのエントリを削除します。

しかし、私がこれを行うとき

$model->attributes=$_POST['RacingTable'][0];

入力フィールドの最初のグループからのみエントリを取得し、それらのエントリで他のグループを埋めます。

データベースへの保存について話しているのではありません。ユーザーが何か間違ったことをすると、アクションを作成するために戻ってきて、その入力にユーザーのエントリを入力する必要があります。

4

1 に答える 1

0

全体像を把握できるように、完全なコントローラー/アクション コードを投稿してください。今のところ、保存しようとする前にモデルを適切に検証していないと思います。また、表形式の入力は実際には配列であるため$_POST['RacingTable'];、配列のインデックスも定義する必要があります。これが、コードの 2 行目でインデックス [0] を定義しているときに、最初の値のセットを取得している理由です。提供したリンクに示されているように、for ループを実行して、インデックスを定義するすべての値を取得する必要があります。

foreach($items as $i=>$item)
        {
            if(isset($_POST['Item'][$i]))

それでも解決しない場合は、完全なアクション コードを投稿してください。投稿した内容だけでは何が問題なのかを突き止めるのは困難です。

于 2013-10-06T20:45:53.777 に答える