2014-12-03 84 views
1

好时机! Yii上有一个项目,您需要通过控制台应用程序为CRONu组织操作。一个月一次,脚本向表中添加一条记录。YII控制台应用程序(CConsoleCommand)

class ZpEduCommand extends CConsoleCommand { 
public function run($args) { 
$command = Yii::app()->db->createCommand('INSERT INTO `text`(`ID`, `datee`, `ggg`) VALUES  ("123123","2014-12-01 00:00:00","123")'); 
$command->execute(); 
} 

一切正常。如果是这样的日期,没有增加。

$command = Yii::app()->db->createCommand('INSERT INTO `text`(`ID`, `datee`, `ggg`) VALUES ("123123","' . date('Y-m-d H:i:s') . '","123")'); 
$command->execute(); 
+0

你忘了链中的' - >执行();''即Yii的应用::() - > DB-> createCommand('INSERT INTO文本(ID,datee,ggg)VALUES(“123123”,“'。date('Ymd H:i:s')。'”,“123”)') - > execute();' – 2014-12-03 12:47:21

+0

- > execute ();那里,只是未完成 – badjo 2014-12-03 12:52:38

回答

0

确保ID是不是在表的主键,因为主键应该是唯一的,但在你的榜样,他们是相同的。

而且更好地利用查询生成器的操作与数据库:

$command = Yii::app()->db->createCommand(); 
$command->insert('text', array(
    'datee'=>date('Y-m-d H:i:s'), 
    'ggg'=>'123', 
)); 
+0

问题不在主键中。 在配置控制台应用程序规定的时区:'timeZone'=>'Europe/Moscow', – badjo 2014-12-04 06:19:37