2017-05-27 78 views
2

插入重複數據我已經在數據庫表表更新/使用多爾康框架

+----+---------+------+-------+ 
| 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字段的表。因爲爾康需要一個.htaccess文件重定向到index.php所有請求

+0

也許移動解決方案的答案? :) –

+1

完成@Nikolay Mihaylov。 –

回答

0

解決這個響應 https://stackoverflow.com/a/35770447/2587280

發生錯誤。使用谷歌瀏覽器,默認情況下它會嘗試從網站的根目錄加載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>