【发布时间】:2019-11-20 19:29:17
【问题描述】:
我有一个帖子模型:
class Post extends Model
{
protected $fillable = [
'title',
'user_id',
'token',
'body'
];
public function favorites()
{
return $this->hasMany(Favorite::class);
}
public function addFavorite($state = 1)
{
$this->favorites()->create(compact('state'));
}
}
最喜欢的型号:
class Favorite extends Model
{
protected $fillable = ['user_id', 'post_id', 'state'];
}
当我在 tinker 中测试时:
$post = Post::first();
$post->addFavorite();
它在下面返回一个错误:
Illuminate/Database/QueryException with message 'SQLSTATE[HYOOO]: General error: 1364 Field 'user_id' doesn't have a default value (SQL: insert into favorites...
为什么在发帖时会问user_id?问题是我一定需要输入user_id 来实现这一点吗?
【问题讨论】:
标签: laravel eloquent laravel-6 eloquent-relationship