我使用这个站点作为在 yii 中设置 cron 作业的指南。
当我将给定值(Value2)从“A”更改为“B”时,我在 TableA(更新)中的当前控制器操作将执行一个 sql 事务以在我的数据库中填充 TableB。
这是我目前用来完成此操作的代码。这是我在控制器 A 中的更新操作
$connection = yii::app()->db;
$sql1 = "INSERT INTO TableB (value1, value2, value3)
VALUES(:val1, :val2, :val3)";
$command=$connection->createCommand($sql1);
$command->bindValue(":val1", $model->tableAId);
$command->bindValue(":val2", 'B');
$command->bindValue(":val3", $model->Attribute2);
$command->execute();
由于我使用的是 bindValue,因此很容易将我的值输入到不同的表中。将此逻辑移动到 cron 作业中,我不知道从哪里开始执行相同的事情。
那么在 cron 作业中使用类似的代码会不会同样有效?
public function run($args)
{
$transactions = TableA::model()
->findBySql('SELECT * FROM `TableA` '.
'WHERE `value2` = A '.
'AND TO_DAYS(`DateCreated`)+3 < TO_DAYS(NOW())');
foreach ($transactions as $transaction) {
$connection = yii::app()->db;
$sql1 = "INSERT INTO tableB (value1, value2, value3)
VALUES(:val1, :val2, :val3)";
$command=$connection->createCommand($sql1);
$command->bindValue(":val1", $model->tableAId);
$command->bindValue(":val2", 'B');
$command->bindValue(":val3", $model->Attribute2);
$command->execute();
}
}
我需要在 TableB 中创建一条新记录,还需要将 TableA 中的 value2 从“A”更新为“B”
我已经尝试过运行这个 cron 作业,但没有得到任何结果,也不知道如何进行故障排除。