Преобразование массива в строку и ошибка 500 серверов - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь присвоить теги кнопкой ajax моему контроллеру, но когда я нажимаю, он выдает мне сообщение об ошибке сервера 500 и преобразование массива в строку.

Контроллер

public function createTags(Request $request)
    {
        $value = $request->get('value');
        if ($value != '') {
           $tag = new TagModel([
                ['name' => $value]
            ]);
            $tag->save();
            return $success = `<div class="alert alert-success" role="alert">Tag created</div>`;
        }else{
            return $error = `<div class="alert alert-danger" role="alert">Tag already exist or something went wrong.</div>`; 
        }

        return response()->json([
            'success' => $success,
            'error' => $error
            ]);
    }

Модель

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class TagModel extends Model
{
    protected $table = ['tags'];
    protected $guarded = [];
}

ajax вызов

let patt = new RegExp(/(.*)\/(.*)\/(.*)/, 'g');
let execute = patt.exec(window.location.href);
let url = (execute && execute.length > 0 ? execute[1] : '') + "/api/createtags";

$(document).on('click', '#createSkill', function (e) {
    let value = $('#types').val();
    const _token = window.Laravel.csrfToken;
    $.ajax({
        url: url,
        method: "POST",
        data: {
            value: value,
            _token: _token
        },
        success: function (result){
            console.log(result);


        },
        error: function (result) {
            console.log(result);
        }
    })

    e.preventDefault();
});

если я переписываю свой контроллер в db :: table (tags), он работает, но всегда возвращается как провал

1 Ответ

1 голос
/ 16 апреля 2020

$ tablename в Laravel модели должно быть строкой, а не массивом. Заменить в TagModel:

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