我有这种情况,如果单击“In”按钮,它将创建一个新的考勤记录。如果单击“Out”按钮,它将更新从之前的新记录创建的记录。
对于这样的情况,应该使用查询在 SQL 上完成,还是在 Yii 本身上完成?
到目前为止,我已经尝试过,我可以为“In”按钮创建新记录。但是当我单击“Out”按钮时,记录没有更新,它会在时间上创建一个 Null 的新记录。
这是桌子的设计
id empid date in out status desc
1 20 2016-11-01 08:00 1 In
编辑:
这是我的“In”按钮控制器
public function actionIn()
{
// $session->open();
// $
$model = new AttDetail();
$idAbsen = Att::find()->where(['empID'=>Yii::$app->user->id])->one();
$db = Yii::$app->getDb();
$command = $db->createCommand('
SELECT group_shift.In FROM group_shift JOIN att on group_shift.Id = att.IdGs WHERE att.empId = 1
');
$In = $command->queryOne();
if ( $model->load( Yii::$app->request->post() ) && $model->save() )
{
return $this->redirect(['index', 'id' => $model->Id]);
}
else
{
return $this->render('in', [
'model' => $model,
'in' => $in,
'in' => $idAtt
]);
}
}
这是我的索引
'toolbar'=> [
['content'=> Html::a('<i class="glyphicon glyphicon-plus"></i> In', ['in'],['class'=>'btn btn-success']),
],
],
'columns' => [
['class' => 'kartik\grid\SerialColumn'],
'Id',
'IdAtt',
'Date',
'In',
'Out',
['class' => 'kartik\grid\ActionColumn',
'template' => Html::a('<i class="glyphicon glyphicon-plus"></i> Out', ['out'],['class'=>'btn btn-success']),
'dropdown'=>false,
'dropdownOptions'=>['class'=>'pull-right'],
我愿意接受有关如何做到这一点的所有建议。谢谢