设置 Maximum leave employee 3 表
Set Maximum leave employee 3 tables
我有 3 个表是这样的
Employee Table
id | EmpId | Name |
1 | N1 | A |
2 | N2 | B |
3 | N3 | C |
Leave Table
id | EmpId | applydate | startdate | daysleave | reason | status |
1 | N2 | 2016-08-25 | 2016-08-25 | 4 | vacation | Approved |
Setting Table
id | var | val | valdef | status |
1 | MaxLeave | 12 | 12 | 1 |
每位员工的最长休假时间为 12 天,取自设置 Table。
如果 daysleave = 4,那么 maxleave 应该还剩 8 天。
我是怎么做到的?我应该在 Employee Table 上添加新字段吗?
预期结果:
您可以在模型中创建获取函数来检索您需要的信息示例:
public function getDaysOfLeaveLeft() {
// query for the data you need and return days left
return $days;
}
然后在视图中显示它
<?= DetailView::widget([
'model' => $model,
'attributes' => [
'daysOfLeaveLeft',
],
]) ?>
编辑
全功能
public function getDaysOfLeaveLeft() {
$models = LeaveTable::findAll(['EmpId' => $this->EmpId]);
$leave = 0;
foreach ($models as $model) {
$leave += $model->daysleave;
}
$setting = Setting::find(['var' => 'MaxLeave']);
return $setting->val - $leave;
}
我有 3 个表是这样的
Employee Table
id | EmpId | Name |
1 | N1 | A |
2 | N2 | B |
3 | N3 | C |
Leave Table
id | EmpId | applydate | startdate | daysleave | reason | status |
1 | N2 | 2016-08-25 | 2016-08-25 | 4 | vacation | Approved |
Setting Table
id | var | val | valdef | status |
1 | MaxLeave | 12 | 12 | 1 |
每位员工的最长休假时间为 12 天,取自设置 Table。
如果 daysleave = 4,那么 maxleave 应该还剩 8 天。
我是怎么做到的?我应该在 Employee Table 上添加新字段吗?
预期结果:
您可以在模型中创建获取函数来检索您需要的信息示例:
public function getDaysOfLeaveLeft() {
// query for the data you need and return days left
return $days;
}
然后在视图中显示它
<?= DetailView::widget([
'model' => $model,
'attributes' => [
'daysOfLeaveLeft',
],
]) ?>
编辑
全功能
public function getDaysOfLeaveLeft() {
$models = LeaveTable::findAll(['EmpId' => $this->EmpId]);
$leave = 0;
foreach ($models as $model) {
$leave += $model->daysleave;
}
$setting = Setting::find(['var' => 'MaxLeave']);
return $setting->val - $leave;
}