Я пытаюсь присвоить теги кнопкой 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), он работает, но всегда возвращается как провал