0

現在、将来の使用のために YouTube からの情報をデータベースに挿入しようとしています。挿入時にエラーがスローされず、データが正常に挿入されたかのようにフラッシュが戻ってきます。問題は、テーブルに 1 列のデータしか挿入されないことです。ここに私が取り組んでいるコードがあります。

景色:

<?php foreach ($videos->data->items as $video) : ?>
        <?php echo $this->Form->create('Youtube', array('action' => 'addNews')); ?>
        <tr>
            <td><?php echo $this->Html->image($video->thumbnail->hqDefault, array('width' => 72, 'height' => 56, 'alt' => 'image')); ?></td>
            <td><?php echo $this->Time->niceShort($video->uploaded); ?></td>
            <td><?php echo $video->category; ?></td>
            <td><?php echo $video->title; ?></td>
            <td><?php echo $this->Text->truncate($video->description, 50); ?></td>
            <td><?php echo $this->Number->precision($video->rating, 2); ?></td>
            <?php echo $this->Form->input('youtube_url', array('type' => 'hidden', 'value' => $video->id)); ?>
            <?php echo $this->Form->input('uploaded', array('type' => 'hidden', 'value' => $this->Time->format('Y-m-d H:i:s', $video->uploaded))); ?>
            <?php echo $this->Form->input('updated', array('type' => 'hidden', 'value' => $this->Time->format('Y-m-d H:i:s', $video->updated))); ?>
            <?php echo $this->Form->input('uploader', array('type' => 'hidden', 'value' => $video->uploader)); ?>
            <?php echo $this->Form->input('category', array('type' => 'hidden', 'value' => $video->category)); ?>
            <?php echo $this->Form->input('title', array('type' => 'hidden', 'value' => $video->title)); ?>
            <?php echo $this->Form->input('description', array('type' => 'hidden', 'value' => $video->description)); ?>
            <?php echo $this->Form->input('sqDefault', array('type' => 'hidden', 'value' => $video->thumbnail->sqDefault)); ?>
            <?php echo $this->Form->input('hqDefault', array('type' => 'hidden', 'value' => $video->thumbnail->hqDefault)); ?>
            <?php echo $this->Form->input('default_player', array('type' => 'hidden', 'value' => $video->player->default)); ?>
            <?php echo $this->Form->input('mobile_player', array('type' => 'hidden', 'value' => $video->player->mobile)); ?>
            <?php echo $this->Form->input('duration', array('type' => 'hidden', 'value' => $video->duration)); ?>
            <?php echo $this->Form->input('rating', array('type' => 'hidden', 'value' => $video->rating)); ?>
            <?php echo $this->Form->input('like_count', array('type' => 'hidden', 'value' => $video->likeCount)); ?>
            <?php echo $this->Form->input('view_count', array('type' => 'hidden', 'value' => $video->viewCount)); ?>
            <?php echo $this->Form->input('comment_count', array('type' => 'hidden', 'value' => $video->commentCount)); ?>
            <?php echo $this->Form->input('embed', array('type' => 'hidden', 'value' => $video->accessControl->embed)); ?>
            <td><?php echo $video->viewCount; ?></td>
            <td><?php echo $video->accessControl->embed; ?></td>
            <td><?php echo $this->Form->submit('Add News'); ?></td>
        </tr>
        <?php //echo $this->Form->end(); ?>
    <?php endforeach; ?>

私はケーキを初めて使用しますが、アイテムを表示して値を設定するためのより良い方法があるのではないかと考えたので、フォーム以外の事前設定された変更不可能な値を持つフォームを作成するために何を探すべきかわかりません>input(type => hidden);

コントローラー:

if($this->request->is('post') || $this->request->is('put')) {

            //debug($this->request->data);
            if($this->Youtube->save($this->request-data)) {
                $this->Session->setFlash('Your post was added');
                $this->redirect($this->referer());
            }
        }

テーブルの命名などを確認しましたが、すべて正しいです。ブレークがどこで発生しているのか、発生している MySQL エラーをケーキに中継させる方法がわかりません。どんな助けでも大歓迎です。

4

1 に答える 1

0

愚かさがこれで私のベストを尽くしました... 構文のタイプミスが原因で、ここにデータを保存できませんでした:if($this->Youtube->save($this->request-data))これはif($this->Youtube->save($this->request->data)). が欠けていました>... 半分の時間は手の問題だと思いますが...ダンタイポ!

于 2012-10-29T19:26:40.770 に答える