Преобразование массива в строку laravel 5.8 - PullRequest
0 голосов
/ 17 октября 2019

Я пытаюсь обновить поля таблицы настроек своего сайта, используя Laravel 5.8 и axios

, но в сообщении об обновлении вызова в Vue-файле я получаю эту ошибку в моей консоли Преобразование массива в строку

Я впервые обновляю таблицу с помощью vue js

Надеюсь, что вы можете помочь мне найти причину проблемы в моем коде

Настройки контроллера

public function updateSettings(Request $request,Setting $setting){
    $siteSettings = $request->siteSettings;
    foreach($siteSettings as $key => $req){
        $siteSettingUpdate = $setting->where('namesetting' , $key)->get()[0];
        $siteSettingUpdate->fill(['value' => $req])->save();
    }
    return response()->json($siteSettings);
    //return response()->json(['Changed Had Saved Successfully'],200);
}

настройки vue

<template>
<div class="card card-info"  style="margin-top: 15px">
    <div class="card-header">
        <h3 class="card-title text-center">Update Site Settings</h3>
    </div>
    <form class="form-horizontal" role="form"  @submit.prevent="updateSettings">
        <input type="hidden" name="_token" :value="csrf">
        <div class="card-body">
        <div class="form-group" v-for="(site,index) in siteSettings">
            <label  class="col-md-2 control-label">{{site.slug}} </label>
            <div class="col-md-12">
                <input type="text" v-if="site.type == 0" class="form-control" :name="site.namesetting" v-model="site.value">
                <textarea v-if="site.type == 1" class="form-control" :name="site.namesetting" v-model="site.value">{{site.value}}</textarea>
                <select v-if="site.type == 2" class="form-control" v-model="site.value" :name="site.namesetting">
                    <option :value="1">Open</option>
                    <option :value="0">Close</option>
                </select>
            </div>
        </div>
        </div>
        <div class="card-footer">
            <button class="btn btn-info">{{ loading ? 'Saving Please Wait ....' : 'Save Changes' }}</button>
        </div>
    </form>
</div>

<script>
export default {
    data(){
        return{
            siteSettings:[],
            loading : false,
            csrf: document.querySelector('meta[name="csrf-token"]').getAttribute('content')
        }
    },
    methods:{
        getSettings(){
            let uri = "/dashboard/getSettings";
            axios.get(uri)
                .then(response =>{
                    this.siteSettings = response.data;
                })
        },
        updateSettings(){
            let url ='/dashboard/updateSettings';
            this.loading = true;
            axios.post(url,{siteSettings:this.siteSettings}).then(response =>{
                toastr.success();
            }).catch(err => {
                this.loading = false;
                toastr.error();
            })
        }
    },
    mounted: function mounted() {
        this.getSettings();
    }
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...