Php Laravel 5.7:数据库查询不返回任何值
我试图从likes表中检索一组post ID,其中用户ID等于Auth会话中存储的ID 到目前为止,我已经用多种方法测试了检索数据,如果我从表中选择了所有like,那么效果很好,从会话中检索到的auth ID与存储在likes表中的auth ID相同,因此应该生成匹配并返回数据 以下是我目前使用的代码:Php Laravel 5.7:数据库查询不返回任何值,php,laravel,eloquent,laravel-5.7,Php,Laravel,Eloquent,Laravel 5.7,我试图从likes表中检索一组post ID,其中用户ID等于Auth会话中存储的ID 到目前为止,我已经用多种方法测试了检索数据,如果我从表中选择了所有like,那么效果很好,从会话中检索到的auth ID与存储在likes表中的auth ID相同,因此应该生成匹配并返回数据 以下是我目前使用的代码: public function index() { $userid = Auth::id(); $userLikes = likes::all()->p
public function index()
{
$userid = Auth::id();
$userLikes = likes::all()->pluck('post_id')->where('user_id', $userid);
dd($userLikes);
}
表中的列名称如下所示:
- 身份证
- 创建于
- 更新地址
- 用户id
- 邮政编码
DB::table('likes')->pluck('post_id')->where('user_id', $userid)->toArray();
我希望为登录用户喜欢的帖子提供一个帖子ID数组,以便将其传递到视图中
提前感谢如果您已经创建了具有适当关系的
用户
、发布
和类
模型,您可以执行以下操作:
$ids = auth()->user()->likes->pluck('post_id')->toArray();
模型的关系定义为:
// User.php
public function likes()
{
return $this->hasMany(Like::class);
}
public function posts()
{
return $this->hasMany(Post::class);
}
// Like.php
public function user()
{
return $this->belongsTo(User::class);
}
public function post()
{
return $this->belongsTo(Post::class);
}
// Post.php
public function user()
{
return $this->belongsTo(User::class);
}
public function likes()
{
return $this->hasMany(Like::class);
}
或者,使用查询生成器:
DB::table('likes')->where('user_id', auth()->id())->get('post_id')->toArray();