我是新来的拉拉VueJS。我在保存user_id时遇到了一个问题,那就是引用users_table和employee_id到employee_info_table。我可以将所有数据保存在控制器中,除了上面提到的foreign_key之外。我也创建了他们的模型和关系。我唯一的问题是我不知道如何保存这些外键。
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>公理
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',
];
}发布于 2020-10-26 18:06:59
如果这些Id都存储在users表中,则可以这样做:
$employee = Auth::user()->employee; // Create user variable然后将代码更新为:
'user_id' => $employee ->user_id,
'employee_info_id' => $employee->id,如果不希望当前通过身份验证的用户id,那么将这两个字段作为隐藏输入或路由参数传递。
https://stackoverflow.com/questions/64542408
复制相似问题