Когда я сохраняю (), «App \ Post» возвращает ошибку 500 - PullRequest
0 голосов
/ 17 сентября 2018

Ну, я получил очень странную ошибку, этот очень простой код возвращает ошибку 500.

<?php

namespace App\Http\Controllers;

use App\User;
use App\Comment;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Storage;
use App\Http\Controllers\Controller;

class CommentController extends Controller
{

   public function NewComment(Request $request) {
     $cText = $request->commentText;

     $comment = new Comment;
     $comment->author_id = Auth::user()->id;
     $comment->current_text = $cText;
     $comment->save();
     return $comment;
    }
[...]
}

Когда я комментирую $ comment-> save (); Возвращает:

  author_id: 1
  current_text: "fsdfdfd"

OBS: "fsdfdfd" - это текст, который я напечатал в <'textarea'> на странице.

Как видите, объект возвращается нормально, но при попытке сохранить возвращает ошибку:

500 (Internal Server Error)

Миграционный файл комментариев:

Schema::create('comments', function (Blueprint $table) {
        $table->increments('id');
        $table->integer('author_id')->unsigned();
        $table->foreign('author_id')
                ->references('id')
                ->on('users')
                ->onDelete('cascade');
        $table->text('current_text')->nullable(false);
        $table->enum('edited', ['yes','no'])->default('no');
        $table->string('history', 8000);
        $table->timestamps();
    });

Comment.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Comment extends Model
{
    protected $fillable = [
      'author_id',
      'current_text',
      'edited',
      'history'];

    protected $guarded = [
      'updated_at',
      'created_at'];

    function author(){
      return $this->belongsTo('App\User');
    }
}

1 Ответ

0 голосов
/ 17 сентября 2018

Я нашел, что было не так !!

Ошибка была до того, как какой-либо из этих сценариев был в функции AJAX.Объект, который отправлял данные, был примерно таким:

var objectComment = {
  'commentText': textComment
};

Из-за этого я получал в моем php-файле такой json:

{'commentText : Lorem ipsun' : null}

И пыталсячтобы получить какую-то ценность через это ... # facepalm

Еще одна вещь, которая была неправильной, это то, что я забыл настроить токен CSRF, он мешал отправке данных и помогал мне немного больше сходить с ума.

Надеюсь, я смогу помочь некоторым из вас с этой ошибкой, вызванной маленькой мечтой :)

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