我想从用户表中获取帖子表中user_id字段的ID
我已经尝试使用Auth :: id();但它会检索当前经过身份验证的ID
所以我想要的是,当我创建新数据时,来自用户的ID将显示在帖子表的user_id字段中
这是我的帖子模型:
public function user()
{
return $this->belongsTo(User::class);
}
这是我的用户模型:
public function posts()
{
return $this->hasMany(post::class);
}
这是我当前存储数据的方式:
$post = new post;
// $post->parent_id = $request->input('id');
$post->user_id = Auth::id();
$post->type = $request->input('type');
$post->slug = str_slug($request->input('title'));
$post->title = $request->input('title');
$post->body = $request->input('body');
$post->excerpt = $request->input('excerpt');
$post->image = $imageName;
$post->tag = $request->input('tag');
$post->metas = $request->input('metas');
$post->ispublished = $request->input('ispublished');
$post->published_at = $request->input('published_at');
$post->save();
我该怎么做我想要的?
答案 0 :(得分:0)
您的问题尚不清楚,但是您可以将关系用于此工作,例如:
$user->post()->create([
$post->type = $request->input('type');
$post->slug = str_slug($request->input('title'));
$post->title = $request->input('title');
$post->body = $request->input('body');
$post->excerpt = $request->input('excerpt');
$post->image = $imageName;
$post->tag = $request->input('tag');
$post->metas = $request->input('metas');
$post->ispublished = $request->input('ispublished');
$post->published_at = $request->input('published_at');
]);
此解决方案在性能上并不是很好,因为它使用了join。
答案 1 :(得分:0)
检查到控制器的路由,如果它具有中间件。要通过Auth中间件检索用户数据。
示例
Route::post('/', 'PostController@store')->middleware('auth:users');