在这里,我想清楚地解释我的问题,
我有一个名为claims
的表,其中有一个名为TRT
的字段(转换时间)。
在此字段中,用户设置日期(例如:2015-07-09),
每次管理员用来检查是否有可用的挂起时,例如:如果今天的日期和TRT日期相同,则待处理数据会自动移动到另一个表。
所以我做的是,
$today = date('Y-m-d');
$dt1 = ArrayHelper::map(Importclaims::find()->all(),'id','turn_around_time_set');
foreach ($dt1 as $key => $value)
{
$trt = print_r($value, true);
if($today == $trt)
{
$sql = "INSERT INTO importpending (claimer_name, status, template, last_trt, email)
SELECT employee_name, status_new, template, turn_around_time_set, tpa
FROM importclaims WHERE id = $name1 ";
$query = Yii::$app->db->createCommand($sql)->execute();
echo '<div class="alert alert-success"> Pendings Availble </div>';
}
else
{
echo '<div class="alert alert-success"> No Pendings Availble </div>';
}
// return $this->redirect(['index']);
}
但是这只执行那些等于今天日期的TRT,但我需要检查每个TRT日期,这个日期小于今天的日期。
简单地说,插入数据的TRT日期少于等于今天的日期
答案 0 :(得分:1)
最后我找到了答案,
$today = strtotime(date('Y-m-d'));
$dt1 = ArrayHelper::map(Importclaims::find()->all(),'id','turn_around_time_set');
foreach ($dt1 as $key => $value)
{
$trt = print_r($value, true);
$new = strtotime($trt);
if($new <= $today)
{
$sql = "INSERT INTO importpending (claimer_name, status, template, last_trt, email)
SELECT employee_name, status_new, template, turn_around_time_set, tpa
FROM importclaims WHERE id = $name1 ";
$query = Yii::$app->db->createCommand($sql)->execute();
echo '<div class="alert alert-success"> Pendings Availble </div>';
}
答案 1 :(得分:0)
答案 2 :(得分:0)
您可以在单个SQL查询中执行此操作,请参阅下面的示例:
INSERT INTO importpending (`claimer_name`, `status`, `template`, `last_trt`, `email`)
SELECT
`employee_name`, `status_new`, `template`, `turn_around_time_set`, `tpa`
FROM importclaims
WHERE turn_around_time <= NOW()