【问题标题】:Table update/insert duplicate data using phalcon framework使用 phalcon 框架更新/插入重复数据
【发布时间】:2017-05-27 02:46:00
【问题描述】:

我有以下数据库表

+----+---------+------+-------+
| id | title   | code | views |
+----+---------+------+-------+
| 1  | Video 1 | abc  | 1000  |
+----+---------+------+-------+
| 2  | Video 2 | def  | 2000  |
+----+---------+------+-------+
| 3  | Video 3 | ghi  | 3000  |
+----+---------+------+-------+

型号Videos.php

<?php

use Phalcon\Mvc\Model;

class Videos extends Model {

    public $id;
    public $title;
    public $code;
    public $views;

}

和控制器IndexController.php

<?php

use Phalcon\Mvc\Controller;

class IndexController extends Controller {

    public function indexAction(){

        $watch = Videos::findFirst(3);

        // add +1 to video views
        $watch->views = $watch->views + 1;

        // update video data
        $watch->save();

        // output video data to view
        $this->view->watch = $watch;

    }

}

上述代码应在所选视频的观看次数中添加 +1,但始终添加 +2。

例如:1000、1002、1004、1006 ...

如果我运行原始 SQL,也会发生同样的事情。 我做错了吗?

更新 #1

我激活了 SQL 查询日志,它同时运行 2 个查询,所以值会重复,但我不知道为什么会这样。

在此链接中,https://forum.phalconphp.com/discussion/274/model-save-create-two-records 被建议检查主表,但已经存在,即 id 字段。

【问题讨论】:

  • 也许将解决方案作为答案? :)
  • 完成@Nikolay Mihaylov。

标签: php phalcon


【解决方案1】:

此回复 https://stackoverflow.com/a/35770447/2587280解决方案

发生错误是因为 Phalcon 需要一个将所有请求重定向到index.php.htaccess 文件。使用谷歌浏览器时,默认情况下它会尝试从站点的根目录加载一个favicon.ico 文件,但由于该文件不存在,它被定向到再次加载的index.php

确实,我将 style.css 文件重命名为一个不存在的名称。没有应用页面样式,Chrome 的检查没有返回 404 错误,并且在文件响应中是完整的 index.php 代码。

为了解决这个问题,我添加了一个 RewriteCond,验证该文件不是 favicon.ico

Options -Indexes

<IfModule mod_rewrite.c>

    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !favicon.ico

    RewriteRule ^(.*)$ index.php?_url=$1 [L]

</IfModule>

【讨论】:

    猜你喜欢
    • 2023-03-23
    • 1970-01-01
    • 2019-01-31
    • 1970-01-01
    • 2017-12-18
    • 1970-01-01
    • 2019-05-11
    • 1970-01-01
    • 2014-08-07
    相关资源
    最近更新 更多