Я хочу получить зарегистрированный идентификатор пользователя и вставить его в таблицу Salesprice. Я пробовал приведенный ниже код, но он выдает эту ошибку
"SQLSTATE [HY000]: общая ошибка : 1364 Поле 'setby_id' не имеет значения по умолчанию (SQL: вставить в значения salesprices
(book_id
, salesprice
, remarks
, updated_at
, created_at
) (2, 5566, ?, 2020-01-31 03:59:58, 2020-01-31 03:59:58)) "
код в контроллере:
<?php
namespace App\Http\Controllers\API;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Salesprice;
use Illuminate\Support\Facades\Hash;
use App\User;
use Illuminate\Support\Facades\Auth;
public function store(Request $request)
{
try
{
$user = auth('api')->user();
$this->validate($request,[
'book_id'=>'required',
'salesprice'=>'required',
]);
$Salesprice= Salesprice::create([
'book_id'=>$request['book_id'],
'salesprice'=>$request['salesprice'],
// 'setdate'=>$request['setdate'],
'setby'=> $user->id,
'lastmodifiedby'=>$user->id,
'remarks'=>$request['remarks']
]);
return response()->json($Salesprice);
}
catch (Exception $e)
{
return response()->json($e->getMessage(), 500);
}
}
код в миграции и модель
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Salesprice extends Model
{
//
use SoftDeletes;
protected $fillable = [
'book_id','salesprice','setby_id','modifiedby_id','remarks'
];
public function Book()
{
return $this->hasOne('App\Book');
}
public function User()
{
return $this->hasOne('App\User');
}
protected $dates=['deleted_at'];
}
public function up()
{
Schema::create('salesprices', function (Blueprint $table) {
$table->bigIncrements('id');
$table->bigInteger('book_id')->unsigned();
$table->bigInteger('salesprice');
$table->bigInteger('setby_id')->unsigned();
$table->bigInteger('modifiedby_id')->unsigned();
$table->string('remarks')->nullable();
$table->softDeletes();
$table->timestamps();
});
}