我在Eloquent查询方面遇到了一些问题。
我有3张桌子:
产品
- ID
- 名称
媒体
- ID
- 文件
产品_媒体
- PRODUKT_ID
- MEDIA_ID
现在我正在尝试从Product表中获取随机结果集,但只记录存在媒体文件。
像这样的东西(不起作用…)
Product::orderByRaw("RAND()")->media()->wherePivot('file', '=!' , '')->take(10)->get();
您应该使用:
Product::orderByRaw("RAND()")->has('media')->take(10)->get();
它将采用所有至少有一个媒体的产品。我假设您只在product_media
中存储file != ''