Laravel 5.4 字段没有默认值
2022-08-30 12:45:25
我遇到了这个错误,我检查的谷歌结果都与我的问题没有相似。
我有一个包含类 Deal、User 和 Matchs 的应用程序
一笔交易有很多匹配。用户有许多匹配项。用户有许多交易。
我正在尝试使用我的 Deal 对象创建新的 Match
$deal->matches()->create(['user_id'=>$id]);
这是我的匹配类,我已经定义了所有需要的关系
class Match extends Model
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $guarded = [];
public $timestamps = false;
public $expired_on = "";
public static function boot()
{
parent::boot();
static::creating(function ($model) {
$model->matched_on = $model->freshTimestamp();
});
}
public function __construct(){
$d = (new \DateTime($this->matched_on))->modify('+1 day');
$this->expired_on = $d->format('Y-m-d H:i:s');
}
/**
* Get the user that owns the match.
*/
public function user()
{
return $this->belongsTo('App\User');
}
/**
* Get the deal that owns the match.
*/
public function deal()
{
return $this->belongsTo('App\Deal');
}
}
当我尝试创建新匹配项时,我一直收到此错误。
查询连接中的异常.php行 647:SQLSTATE[HY000]:常规错误:1364 字段“user_id”没有默认值(SQL:插入到 () 值 (1)中)
matches
deal_id
我已将其保护为空数组,可能是什么问题?