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
非常抱歉。。。我删除了它,因为这个问题是不必要的,因为它是同一时间。。