Laravel: Vue ax ios не сохранил никаких данных в базе данных - PullRequest
0 голосов
/ 06 марта 2020

В настоящее время я пытаюсь сохранить данные в базе данных, используя метод Ax ios, но данные не были сохранены, и они не показали никаких ошибок. Итак, я прикрепил свой код здесь. Любой может помочь мне. Я не могу решить мою проблему. Я продолжал искать это, но не мог найти ответ, который прояснит это.

Спасибо!

Vue. js

<script>
    import Vue from 'vue'
    import axios from 'axios'
    import VueAxios from 'vue-axios' 

    import MarkdownIt from 'markdown-it'
    import ClassicEditor from '@ckeditor/ckeditor5-build-classic';
    var msg_editor;
    Vue.use(VueAxios, axios);


    const md = new MarkdownIt({
        linkify: true
    })
// Vue.directive('select2', {
//         inserted(el) {
//             $(el).on('select2:select', () => {
//                 const event = new Event('change', { bubbles: true, cancelable: true });
//             el.dispatchEvent(event);
//         });
//         },
//     });
//  $('#condition').select2();




  export default {
    props: ['email_creation_link', 'email_index_route', 'email_edit_route','conditions','modules','mailtemplates'],

    components: {


    },


    data() {
        return {
            template: 
             {
                subject: '',
                message: '' ,
                days: '',
                condition_id: 1,

            },
            options:[
                {
                    display:'Client Name',
                    actual:'Client name'
                }, 
                {
                    display:'Joined Date',
                    actual:'Joined date'
                },
                {
                    display:'Module Name',
                    actual:'Module name'
                },
                {
                    display:'Last Seen',
                    actual:'Last seen'
                },
            ],


              showName: false,



        }
    },




    mounted(){


            var self = this;

            ClassicEditor
            .create(document.querySelector( "#msg"),
                {
                })
            .then(editor => {
                msg_editor = editor;
                editor.model.document.on( 'change:data', () => {
                    self.template.message = msg_editor.getData();
                });
            })

            .catch(error => {
                console.error(error);
            })


            if (this.mailtemplates) {
                    this.template=this.mailtemplates;

            }



        }, 


    methods: {



        //Drag items
        dragstart: function(item, e){
            this.draggingItem = item;
            e.dataTransfer.setData('text/plain', item.actual);
        },
        dragend: function(item,e) {
            e.target.style.opacity = 1;
        },
        dragenter: function(item, e) {
            this.draggingItem = item;
        },
        //content
        replaceVariables(input)
        {
            let updated = input
            return updated
        },
        //hidecontent
        showHide: function(e)
        {

            console.log("Show "+e.target.value+ " fields")
            this.showName = e.target.value == '3'


        },

        fetch()
        {
            //request data
            axios.get(this.email_creation_link,this.template)
                .then((res) => {
                    this.template = res.data.template;

                })

        },
        save()
        {
            //save data to db
            axios.post(this.email_creation_link, this.template)
                .then((res) => {
                    alert('Mail sent successfull!')
                })
        },
        addToMail: function(type, text)
        {
            if (type == 'message') {
                this.template.message += text;
                msg_editor.setData(this.template.message);
            }
        },

        //user name replace
        replaceVariables() {
            return this.replaceVariables(this.options || '')
        },
    },


  }
</script>

контроллер

<?php
namespace App\Http\Controllers\Havence;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Mail;
use Session;
use App\Mail\Automail;
use App\auto_mail_condition;
use App\modulename;
use App\AutoEmailTemplate;
use App\EmailSave;
use App\AppModule;
use app\resources\views\emails\Automailsend;


class AutoMailController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $mailTemplates =AutoEmailTemplate::all();
            return view('havence.marketing.index',compact('mailTemplates'));

    }

    public function create(Request $request)
    {
        $request->validate([
            'subject' => 'required',
            'message' => 'required',
            //'select'=>'required',
            'days'=>'required'
        ]);

        $data = [
            'subject' => $this->replaceVariables($request->subject),
            'message' => $this->replaceVariables($request->message),
            //'select' => $this->replaceVariables($request->select),
            'days' => $this->replaceVariables($request->days)
        ];


    }
    protected function getReplaceable()
    {
        return [

            '{customer_name}' => Auth::user()->name ,

        ];
    }


    protected function replaceVariables($message)
    {
        $items = $this->getReplaceable();
        foreach($items as $key => $value) {
            $message = str_replace($key, $value, $message);
        }
        return $message;
    }

    public function store(Request $request)
    {
        // Store the data into the db
        $data = $request->all();
        $data['created_by'] = Auth::id();
        return AutoEmailTemplate::create($data);


    }

    public function show($id)
    {
       //
    }


    public function edit(AutoEmailTemplate $mailTemplates , $id)
    {
        $mailTemplates=AutoEmailTemplate::find($id);
        $conditions= auto_mail_condition::all();
        $modules=AppModule::all();

            return view('havence.marketing.edit', compact('mailTemplates','conditions','modules'));
    }

    public function update(Request $request, $id)
    {
        // $mailTemplates=AutoEmailTemplate::find($id);

        // $input = $request->all();

        // $mailTemplates->fill($input)->save();

        // Session::flash('flash_message', 'Task successfully added!');

        // return redirect()->back();
    }

    public function destroy($id)
    {
        $mailTemplates =AutoEmailTemplate::findOrFail($id);
        $mailTemplates->delete();
            return redirect('automail/index')->with(['message'=> 'Successfully deleted!!']);

    }

    public function mail()
    {
        $conditions= auto_mail_condition::all();
        $modules=AppModule::all();
        //$mailTemplates=AutoEmailTemplate::all();
        return view(('havence.marketing.create'),compact('conditions','modules'));

    }

}

1 Ответ

1 голос
/ 06 марта 2020

Я не очень знаком с тем, что происходит на стороне интерфейса, но я вижу в методе создания вашего контроллера, что вы не сохраняете данные.

Вы можете сделать что-то вроде Model::create($data);

Для получения дополнительной информации проверьте здесь

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