我在这方面已经很长时间了,我不能把它做好。会非常感谢你的帮助。提前感谢!我正在尝试建立一个小的克隆reddit的一些学习目的。
我认为这些模型对于我正在尝试做的事情是正确的。我能够保存一个子编辑数据库与user_id。但是我的问题是我不能post到post表,因为它告诉我它找不到subreddits_id列。Im似乎尝试调用的方法应该起作用,但它不起作用。
protected $fillable = ['title', 'link','content', 'post_picture', 'user_id', 'subreddit_id'];
//Functions
public function user () {
return $this->belongsTo(User::class);
}
public function subreddit() {
return $this->belongsTo(Subreddit::class);
}
public function comments () {
return $this->hasMany(Comment::class);
}上面是我的帖子模型
protected $guarded = [];
//Functions
public function user () {
return $this->belongsTo(User::class);
}
public function posts () {
return $this->hasMany(Post::class);
}
public function comments () {
return $this->hasMany(Comment::class);
}上面是我的Subreddit模型
public function posts () {
return $this->hasMany(Post::class);
}
public function subreddit() {
return $this->hasMany(Subreddit::class);
}
public function commments () {
return $this->hasMany(Comment::class);
}上面是我的用户模型
我认为这些模型对于我正在尝试做的事情是正确的。我能够保存一个子编辑数据库与user_id。但是我的问题是我不能post到post表,因为它告诉我它找不到subreddits_id列。Im似乎尝试调用的方法应该起作用,但它不起作用。
Store方法如下所示:
public function store(Request $request)
{ $data = request()->validate([
'title' => 'required',
'link' => 'required',
'content' => 'required',
]);
$post = auth()->user()->posts()->create($data);
return redirect('/home');
}我收到此错误一般错误: 1364字段'subreddit_id‘没有默认值(SQL: insert into posts (title,link,content,user_id,updated_at,created_at)值(awe,ew,we,2,2020-04-01 17:41:29,2020-04-01 17:41:29))
发布于 2020-04-02 03:04:22
您的$data只接受您指定用于验证的参数,但是您没有包含subreddit_id,
应该是这样的:
public function store(Request $request)
{ $data = request()->validate([
'title' => 'required',
'link' => 'required',
'content' => 'required',
'subreddit_id' => 'required|exist:subreddits,id'
]);
$post = auth()->user()->posts()->create($data);
return redirect('/home');
}https://stackoverflow.com/questions/60978088
复制相似问题