laravel - 如何将我的 user_id 和 employee_id 保存到 laravel 中的 Civil_status_table 中
问题描述
我是 laravel VueJS 的新手。我将引用users_table 和employee_id 的user_id 保存到employee_info_table 时遇到问题。我可以将所有数据保存在控制器中,除了我上面提到的外键。我也完成了他们的模型和关系的创建。我唯一的问题是我不知道如何保存这些外键。
EmployeeProfileComponent.vue
<b-tab-item label="Personal Reference">
<div class="columns-modal-content">
<div class="column is-8">
<div class="for-padding">
<div class="pb-3">
<h3 class="font-weight-bold">
Spouse Name
</h3>
</div>
<div class="columns pl-3">
<div class="column is-6">
<b-field label="Last Name">
<b-input
v-model="
status.last_name
"
rounded
></b-input>
</b-field>
</div>
<div class="column is-6">
<b-field label="First Name">
<b-input
v-model="
status.first_name
"
rounded
></b-input>
</b-field>
</div>
</div>
<div class="columns pl-3">
<div class="column is-6">
<b-field label="Middle Name">
<b-input
v-model="
status.middle_name
"
rounded
></b-input>
</b-field>
</div>
<div class="column is-6">
<b-field label="Suffix">
<b-input
v-model="
status.suffixes
"
rounded
></b-input>
</b-field>
</div>
</div>
</div>
<div class="for-padding">
<div class="pb-3">
<h3 class="font-weight-bold">
Permanent Address
</h3>
</div>
<div class="columns pl-3">
<div class="column is-6">
<b-field
label="House Bldg Number"
>
<b-input
v-model="
status.housebldg
"
rounded
></b-input>
</b-field>
</div>
<div class="column is-6">
<b-field
label="Street/Bldg Name"
>
<!-- <b-datepicker v-model="status[0].birthdate" rounded></b-datepicker> -->
<b-input
v-model="
status.street
"
rounded
></b-input>
</b-field>
</div>
</div>
<div class="columns pl-3">
<div class="column is-4">
<b-field label="Barangay">
<b-input
v-model="
status.barangay
"
rounded
></b-input>
</b-field>
</div>
<div class="column is-4">
<b-field label="City">
<b-input
v-model="status.city"
rounded
></b-input>
</b-field>
</div>
<div class="column is-4">
<b-field label="Zip Code">
<b-input
v-model="
status.zipcode
"
rounded
></b-input>
</b-field>
</div>
</div>
<div class="columns pl-3">
<div class="column is-4">
<b-field label="Number">
<b-input
v-model="
status.mobile
"
rounded
></b-input>
</b-field>
</div>
<div class="column is-4">
<b-field
label="LandLine Number"
>
<b-input
v-model="
status.landline
"
rounded
></b-input>
</b-field>
</div>
<div class="column is-4">
<b-field label="Email Address">
<b-input
v-model="status.email"
rounded
></b-input>
</b-field>
</div>
</div>
</div>
<div class="for-padding">
<div class="pb-3">
<h3 class="font-weight-bold">Work</h3>
</div>
<div class="columns pl-3">
<div class="column is-4">
<b-field label="Company Name">
<b-input
v-model="
status.company_name
"
rounded
></b-input>
</b-field>
</div>
<div class="column is-4">
<b-field label="Designation">
<b-input
v-model="
status.designation
"
rounded
></b-input>
</b-field>
</div>
<div class="column is-4">
<b-field label="Contact Number">
<b-input
v-model="
status.contact_number
"
rounded
></b-input>
</b-field>
</div>
</div>
</div>
<div class="for-padding">
<div class="pb-3">
<h3 class="font-weight-bold">
Number of Kids:<i
class="fas fa-plus-circle"
>Plus</i
>
</h3>
</div>
<div class="columns pl-3">
<div class="column is-4">
<b-field label="Name">
<b-input
v-model="status.kids_info"
rounded
></b-input>
</b-field>
</div>
<div class="column is-4">
<b-field label="Birthday">
<b-input rounded></b-input>
</b-field>
</div>
<div class="column is-4">
<b-field label="Age">
<b-input rounded></b-input>
</b-field>
</div>
</div>
</div>
<div class="for-padding">
<div class="pb-3">
<h3 class="font-weight-bold">
Emergency Contact Information
</h3>
</div>
<div class="columns pl-3">
<div class="column is-3">
<b-field label="Name">
<b-input
v-model="
status.emergency_contact_info
"
rounded
></b-input>
</b-field>
</div>
<div class="column is-3">
<b-field label="Relationship">
<b-input rounded></b-input>
</b-field>
</div>
<div class="column is-3">
<b-field label="Mobile Number">
<b-input rounded></b-input>
</b-field>
</div>
<div class="column is-3">
<b-field label="Landline Number">
<b-input rounded></b-input>
</b-field>
</div>
</div>
</div>
</div>
</div>
<vue-fab
mainBtnColor="#3599DB"
icon="save"
size="big"
style="margin-right: -150px;"
@clickMainBtn="
saveCivilStatus('/admin/create_civil_status_info')
"
></vue-fab>
</b-tab-item>
axios
saveCivilStatus(url) {
axios({
method: "POST",
type: "JSON",
url: url,
data: this.status
})
.then(response => {
swal(
response.data.title,
response.data.text,
response.data.type
);
console.log(response)
})
.catch(error => {
swal("Error", "Something went wrong!", "error");
});
}
控制器
public function create_civil_status_info(Request $request) {
$contact = CivilStatus::make([
'user_id' => $request['user_id'],
'employee_info_id' => $request['employee_info_id'],
'last_name' => $request['last_name'],
'first_name' => $request['first_name'],
'middle_name' => $request['middle_name'],
'suffixes' => $request['suffixes'],
'housebldg' => $request['housebldg'],
'street' => $request['street'],
'barangay' => $request['barangay'],
'city' => $request['city'],
'zipcode' => $request['zipcode'],
'mobile' => $request['mobile'],
'landline' => $request['landline'],
'email' => $request['email'],
'company_name' => $request['company_name'],
'designation' => $request['designation'],
'contact_number' => $request['contact_number'],
'kids_info' => $request['kids_info'],
'emergency_contact_info' => $request['emergency_contact_info']
]);
$contact->save();
$contact->id;
if ($contact->save()) {
$log = ActivityLogs::create([
'company_id' => Auth::user()->user_info->company_id,
'role' => 'admin',
'name' => Auth::user()->user_info->firstname . ' ' . Auth::user()->user_info->lastname,
'activity' => 'Update Contact info',
'date' => date('Y-m-d H:i:s')
]);
$log->save();
return [
'status' => 1,
'title' => 'Success',
'text' => 'Contact Information was successfully updated!',
'type' => 'success',
];
}
return [
'status' => 2,
'title' => 'Error',
'text' => 'Something went wrong!',
'type' => 'error',
];
}
解决方案
如果这些 ID 都存储在您的用户表中,您可以这样做:
$employee = Auth::user()->employee; // Create user variable
然后将您的代码更新为:
'user_id' => $employee ->user_id,
'employee_info_id' => $employee->id,
如果您不想要当前经过身份验证的用户 ID,则将 2 个字段作为隐藏输入或路由参数传递。
推荐阅读
- ios - 有没有办法从 RPBroadcastSampleHandler 中优雅地完成广播?
- php - if语句成功ajax
- c# - 多对多关系过滤器/搜索
- c# - 如何在 MVC 4 中打印 HTML 字符串?
- c# - C# System.ArgumentException:已添加具有相同键的项
- c++ - 在不使用迭代器的情况下添加位于向量中的整数的总和,总和是第一个和第二个元素的总和,依此类推
- javascript - 表单验证中的“超出最大更新深度”
- c# - Azure AD GraphServiceClient 扩展不起作用
- flopy - 旋转图 - 软盘
- c# - 在 powershell 类中使用 dotnet 接口