php - 如何解决apiato项目中的完整性约束违规错误?
问题描述
我是 Apiato 框架的新手,我开发了一个 API,它负责将详细信息发布到我的数据库中,并且它也连接到数据库,当我尝试在邮递员中发送请求时,我遇到了完整性问题,它采用空值并且它没有'不要在我的数据库中存储任何值。如何解决这个问题,请帮我解决这个问题..
Illuminate\Database\QueryException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'name' cannot be null (SQL: insert into `blogs_table` (`name`, `price`, `image`, `rating`, `country`, `description`, `user_id`, `updated_at`, `created_at`) values (?, ?, ?, ?, ?, ?, ?, 2021-08-07 20:26:25, 2021-08-07 20:26:25)) in file /home/vagrant/code/apiato/vendor/laravel/framework/src/Illuminate/Database/Connection.php on line 692
BlogController.php
<?php
namespace App\Containers\UserRegistration\UserContainer\UI\API\Controllers;
use App\Containers\UserRegistration\UserContainer\UI\API\Requests\CreateUserContainerRequest;
use App\Containers\UserRegistration\UserContainer\UI\API\Requests\DeleteUserContainerRequest;
use App\Containers\UserRegistration\UserContainer\UI\API\Requests\GetAllUserContainersRequest;
use App\Containers\UserRegistration\UserContainer\UI\API\Requests\FindUserContainerByIdRequest;
use App\Containers\UserRegistration\UserContainer\UI\API\Requests\UpdateUserContainerRequest;
use App\Containers\UserRegistration\UserContainer\UI\API\Transformers\UserContainerTransformer;
use App\Containers\UserRegistration\UserContainer\Actions\CreateUserContainerAction;
use App\Containers\UserRegistration\UserContainer\Actions\FindUserContainerByIdAction;
use App\Containers\UserRegistration\UserContainer\Actions\GetAllUserContainersAction;
use App\Containers\UserRegistration\UserContainer\Actions\UpdateUserContainerAction;
use App\Containers\UserRegistration\UserContainer\Actions\DeleteUserContainerAction;
use App\Ship\Parents\Controllers\ApiController;
use Illuminate\Http\JsonResponse;
// use Illuminate\Support\Facades\Request;
use Illuminate\Http\Request;
use App\Containers\UserRegistration\UserContainer\Models\BlogModel;
class BlogController extends ApiController
{
public function upload(Request $request ){
$blog = new BlogModel();
$blog->name=$request->input('name');
$blog->price=$request->input('price');
$blog->image=$request->input('image');
$blog->rating=$request->input('rating');
$blog->country=$request->input('country');
$blog->description=$request->input('description');
$blog->user_id = auth()->id();
$blog->save();
return response()->json(['blogs'=>$blog]);
}
}
create_Blogs_Table.php
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
class CreateBlogsTable extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('blogs_table', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('price');
$table->string('country');
$table->string('description');
$table->integer('rating');
$table->string('image');
$table->unsignedInteger('user_id');
$table->foreign('user_id')->references('id')->on('user_containers');
$table->timestamps();
//$table->softDeletes();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('blogs_table');
}
}
BlogModel.php
<?php
namespace App\Containers\UserRegistration\UserContainer\Models;
use App\Ship\Parents\Models\Model;
class BlogModel extends Model
{
protected $table='blogs_table';
protected $fillable = [
'name','price','image','country','rating','description'
];
protected $attributes = [
];
protected $hidden = [
];
protected $casts = [
];
protected $dates = [
'created_at',
'updated_at',
];
/**
* A resource key to be used in the serialized responses.
*/
protected string $resourceKey = 'BlogModel';
public function user(){
return $this->belongsTo(UserContainer::class);
}
}
解决方案
推荐阅读
- java - ClassLoaders 加载相同 API 的两个版本
- node.js - 来自官方文档和邮递员的简单 http2 NodeJS 服务器不起作用
- sql - 如何使枢轴在oracle中具有默认值?
- php - 在 laravel 中按用户 ID 搜索预订
- dynamics-crm - 如何从表单创建注释?
- regex - 熊猫模式匹配和dataFrame的csv转换
- scala - 如何在没有 .cmd 后缀的情况下从 Scala 运行 gsutil?
- ansible - 执行 pm2 启动命令的 Ansible 错误
- python - 如何让嵌套交叉验证在多个内核上运行?
- c# - 如何在 Jenkins 中使用自定义贴标机?