首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >怎样才能把我的user_id和employee_id存进civil_status_table里

怎样才能把我的user_id和employee_id存进civil_status_table里
EN

Stack Overflow用户
提问于 2020-10-26 17:52:49
回答 1查看 73关注 0票数 0

我是新来的拉拉VueJS。我在保存user_id时遇到了一个问题,那就是引用users_table和employee_id到employee_info_table。我可以将所有数据保存在控制器中,除了上面提到的foreign_key之外。我也创建了他们的模型和关系。我唯一的问题是我不知道如何保存这些外键。

EmployeeProfileComponent.vue

代码语言:javascript
复制
 <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>

公理

代码语言:javascript
复制
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");
            });
    }

控制器

代码语言:javascript
复制
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',
    ];
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-26 18:06:59

如果这些Id都存储在users表中,则可以这样做:

代码语言:javascript
复制
$employee = Auth::user()->employee; // Create user variable

然后将代码更新为:

代码语言:javascript
复制
'user_id' => $employee ->user_id,
'employee_info_id' => $employee->id,

如果不希望当前通过身份验证的用户id,那么将这两个字段作为隐藏输入或路由参数传递。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64542408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档