Php Laravel eloquent:仅检索关系中有条目的条目(联接)

Php Laravel eloquent:仅检索关系中有条目的条目(联接),php,mysql,laravel,join,eloquent,Php,Mysql,Laravel,Join,Eloquent,我有一个products和一个products\u marks表。products\u marks表包含一个user\u id和一个product\u id,表示用户标记/保存的所有产品。所以,这多少有点像观察名单 我现在的目标是执行一个有说服力的查询,该查询只返回也存在于某个用户id的产品标记表中的产品。对于本例,让我们选择user\u id2 这是我的products.php模型: public function marks() { return $this->

我有一个
products
和一个
products\u marks
表。
products\u marks
表包含一个
user\u id
和一个
product\u id
,表示用户标记/保存的所有产品。所以,这多少有点像观察名单

我现在的目标是执行一个有说服力的查询,该查询只返回也存在于某个
用户id的
产品标记
表中的产品。对于本例,让我们选择
user\u id
2

这是我的
products.php
模型:

public function marks()
    {
        return $this->belongsToMany('App\Models\User', 'products_marks', 'product_id', 'user_id')->withTimestamps();
    }
这就是我如何实现我现在想要的

我用一个
连接执行一个雄辩的查询。但我怎么能在一段感情中做到这一点呢

$products = Product::join('products_marks', 'products_marks.product_id', '=', 'products.id')
            ->where('products_marks.user_id', 2)
            ->orderBy('created_at', 'desc')
            ->paginate(10);

亲切的问候和感谢

使用
has
方法:

$products = Product::has('marks')->where('products_marks.user_id', 2)
                ->orderByDesc('created_at')
                ->paginate(10);
检查文件

有一个
has
方法和一个
whereHas
方法用于你要找的东西我没有在这里删除这个线程?我说的是关于
$product->end_date
日期格式无论如何,你可以做一个映射操作来获取你想要的日期时间
$product=product::where('id',1')->get()$修改=$product->map(函数($item,$key){return['id'=>$product->id,'name'=>$product->name,'end\u date'=>$product->end\u date->format('Y-m-d H:i:s');});dd($modified['end_date']);//2020-12-09 21:59:59
非常抱歉。。。我删除了它,因为这个问题是不必要的,因为它是同一时间。。