#post #laravel-8 #rest
Вопрос:
Запрос на получение работает нормально. Но когда я пытаюсь создать сообщение с помощью запроса на публикацию, это приводит к следующей ошибке….
IlluminateDatabaseQueryException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'title' cannot be null (SQL: insert into `posts` (`title`, `content`, `updated_at`, `created_at`) values (?, ?, 2021-03-22 06:05:00, 2021-03-22 06:05:00))
Вот имя моей таблицы базы данных: содержимое заголовка идентификатора created_at
Почтовая модель:
<?php
namespace AppModels;
use IlluminateDatabaseEloquentFactoriesHasFactory;
use IlluminateDatabaseEloquentModel;
class Post extends Model
{
use HasFactory;
protected $table="posts";
protected $fillable=[
"title",
"content"
];
};
База данных:
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->text('content');
$table->timestamps();
});
}
маршрут api:
Route::get('/posts', function(){
return Post::all();
});
Route::post('/posts', function(){
return Post::create([
"title" => request('title'),
"content" => request('content'),
]);
});
Ответ №1:
Я предлагаю вам проверить, получаете ли вы правильные данные из метода запроса()
Route::post('/posts', function(){
dd(request('title'));
Другой способ, которым вы можете попробовать, это
Route::post('/posts', function(Request $request){
return Post::create([
"title" => $request->get('title'),
"content" => $request->get('content'),
]);
});
Приветствия