Güncelleme garip doktrin davranış

0 Cevap php

Ben aşağıdaki gibi bir tablo var:

class SnookerCurrentInfo extends Doctrine_Record 
{
  public function setTableDefinition() 
  {
    $this->hasColumn('current_frame_id', 'integer', 4, array('notnull' => 'false'));
    $this->hasColumn('current_player_id', 'integer', 4, array('notnull' => 'false'));
    $this->hasColumn('current_score1', 'integer', 4, array('notnull' => 'false'));
    $this->hasColumn('current_score2', 'integer', 4, array('notnull' => 'false'));
  }

  public function setUp()
  {
    $this->setTableName('snooker_current_info');
  }
}

ve ben bu tabloda yalnızca bir giriş tutmak istiyorum. Yani değeri değiştiğinde her zaman ben id = 1 çıkış ile girişi okumak ve nesneyi değiştirmek ve kaydetmek yürütmek. aşağıdaki gibi:

$info = Doctrine::getTable('SnookerCurrentInfo')->find(1);

$info->current_frame_id = $jsonInfo['current_frame_id'];
$info->current_player_id = $jsonInfo['current_player_id'];
$info->current_score1 = $jsonInfo['current_score1'];
$info->current_score2 = $jsonInfo['current_score2'];

$info->save();

ama garip bir şey bunu açıklığa kavuşturmak için deneyin olduğunu. Diyelim ki ilk başta, girdi (30, 1, 1, 0) ve I çalar geçiş, öylesine giriş güncellemek (30, 2, 1, 0). ve ben tekrar oynatıcı geçiş, yani giriş için güncelleştirilmesi gerekir (30, 1, 1, 0), but this is not affected to the database!! In the database, the entry still remains as (30, 2, 1, 0)!!!!

Fakat (30, 2, 1, 0), I (30, 2, 1, 1) ve sonra (30, 1, 1, 1) daha sonra bu ok geri oyuncuyu geçmek için puan güncellemek sonra eğer.

Bu nedir? Nasıl başa gerekir?

0 Cevap