【问题标题】:Data not inserting CakePHP数据未插入 CakePHP
【发布时间】:2012-10-30 03:26:40
【问题描述】:

我目前正在尝试将来自 YouTube 的信息插入数据库以供将来使用。当插入进行时,我没有抛出任何错误,并且闪存又回来了,就好像数据已成功插入一样。问题是只有一列数据被插入到表中。这是我正在使用的代码。

观点:

<?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; ?>

我想也许有更好的方法来显示项目并设置值,尽管我是蛋糕新手,所以我不确定我应该寻找什么才能制作具有预设不可更改值的表单比form->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 错误。任何帮助将不胜感激。

【问题讨论】:

    标签: php mysql cakephp


    【解决方案1】:

    Stupidity 在这个问题上占了上风……语法错误是什么让我无法在此处保存数据:if($this-&gt;Youtube-&gt;save($this-&gt;request-data)) 应该是 if($this-&gt;Youtube-&gt;save($this-&gt;request-&gt;data))。错过了&gt;...我想有一半的时间是手头的问题...该死的错别字!

    【讨论】:

    • 由于变量名称不能包含破折号,因此在任何应用正确语法突出显示的编辑器上都应该注意这个错字:)
    猜你喜欢
    • 1970-01-01
    • 2015-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多