Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 5.7:数据库查询不返回任何值_Php_Laravel_Eloquent_Laravel 5.7 - Fatal编程技术网

Php Laravel 5.7:数据库查询不返回任何值

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

我试图从likes表中检索一组post ID,其中用户ID等于Auth会话中存储的ID

到目前为止,我已经用多种方法测试了检索数据,如果我从表中选择了所有like,那么效果很好,从会话中检索到的auth ID与存储在likes表中的auth ID相同,因此应该生成匹配并返回数据

以下是我目前使用的代码:

    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();