好吧,我遇到了一个非常奇怪的错误,这个非常简单的代码返回了 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');
}
}
答案 0 :(得分:0)
我发现了问题所在!
错误在任何这些脚本之前,在AJAX函数中。 发送数据的对象是这样的:
var objectComment = {
'commentText': textComment
};
因此,我在我的php文件中得到了一个像这样的json:
{'commentText : Lorem ipsun' : null}
并试图通过此方式获得一些价值... #facepalm
另一个错误的地方是,我忘记了配置CSRF令牌,它干扰了数据发送并帮助我更加疯狂。
希望我可以帮助你们中的一些白日梦造成的错误:)