控制器功能如何将数据从false切换为true

时间:2019-02-22 14:32:56

标签: php laravel vue.js

我正在用vuejs学习laravel。所以我有一个问题。当按下tfaEnabled按钮时,必须将数据库设置为true。默认情况下,此列为false。

当我单击按钮时,他需要变为真实。我希望你们中的一个可以帮助我。

ps(对不起,我的英语不好)

DatabaseColum:this is de colum of users 2fa

这是我的2fa.vue:

<template>
    <v-container class="user-form-lime" fluid grid-list-xl>
        <v-form>

            <v-layout row wrap>

                <v-flex xs12 md6 xl3>

                     <v-switch v-model="tfaEnabled"
                                   label="Tweefactor authenticatie"
                                   name="tfaEnabled"
                                   prepend-icon="lock"
                                   @change="change" />


                    <v-flex xs12>


                        <v-text-field v-if="tfaEnabled"
                                      v-model="google2fa.token"
                                      label="Token"
                                      :rules="[rules.required]"
                                      type="text" />
                    </v-flex>

                </v-flex>

            </v-layout>

            <v-layout row wrap>

                <v-flex xs12>
                    <v-btn color="success" @click="submit">
                        Opslaan
                    </v-btn>
                </v-flex>

            </v-layout>

        </v-form>

    </v-container>

</template>

<script>
    export default {
    name: 'UserForm2fa',
    props: {
        id: { type: Number, required: true }
    },
    data() {
        return {
            tfaEnabled: false,
            google2fa: {
                token: '',
            },
            rules: {
                    required: val => !!val || 'Dit veld mag niet leeg zijn',
            }
        };
    },
    methods: {
        changeStatus() {
            this.$emit( 'change', this.tfaEnabled );
        },
        submit() {
            this.$emit('submit', this.token)
        }
    }
}
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>

这是我的控制者:

public function update2faStatus( Update2faSatus $request ) {

        $user = User::findOrFail( $request->id );

       if($request->input('tfaEnabled'){

        

       });
        
    }

1 个答案:

答案 0 :(得分:1)

我会做这样的事情:

public function update2faStatus(Update2faSatus $request) {

    $user = User::findOrFail($request->id);

    $tfaEnabled = $request->input('tfaEnabled', false);
    $user->tfaEnabled = $tfaEnabled;

    $user->save();
}

因此,如果请求中包含tfaEnabled,它将获取该值并将其存储到$tfaEnabled中,否则默认为false(例如,当未选中此复选框时)。