我的项目员工签证模型和签证跟踪模型中有两个模型。我想将员工签证表的主键(即employee_visa_id)存储在下一个表签证跟踪的employee_visa_id字段中。签证轨道的作用是:
public function rules()
{
return [
[['emp_id', 'employee_passport_id', 'country_id', 'visa_configuration_id',], 'required'],
[['emp_id', 'employee_passport_id', 'country_id', 'visa_configuration_id','employee_visa_id'], 'integer'],
[['validity'], 'safe'],
[['remarks'], 'string'],
];
}
员工签证模式的作用是:
public function rules()
{
return [
[['emp_id', 'employee_passport_id', 'country_id','visa_type', 'expiration_date'], 'required'],
[['emp_id', 'employee_passport_id'], 'integer'],
[['expiration_date'], 'safe'],
[['remarks'], 'string'],
[['visa_type'], 'string', 'max' => 300],
];
}
在控制器中我尝试:
foreach ($visas as $visa):
$visa->expiration_date = date('Y-m-d', strtotime($visa->expiration_date));
$visa_track->emp_id = $visa->emp_id;
$visa_track->employee_passport_id = $visa->employee_passport_id;
$visa_track->country_id = $visa->country_id;
$visa_track->visa_configuration_id = $visa->visa_type;
$visa_track->validity = $visa->expiration_date;
$emp_vid = $visa->employee_visa_id;
$visa_track->employee_visa_id = $visa->employee_visa_id;
//print_r($visa_track->employee_visa_id );die();
if($visa_track->validate())
{
// print_r($visa_track->employee_visa_id );die();
$visa_track->save();
}
else
{
$errors = $visa_track->errors;
print_r($errors);die();
}
$visa->save(false);
//$visa_track->save(false);
endforeach;
但是问题是员工签证的employee_visa_id在保存在visa track中后被存储为Null值。我如何解决这个问题?