Laravel 4 - 获取记录,其中存在N:N关系中的条目

时间:2014-10-05 05:57:04

标签: php mysql laravel eloquent

我在使用Eloquent Query时遇到了一些麻烦。

我有3张桌子:

产品

  • ID
  • NAME

媒体

  • ID
  • FILE

product_media

  • PRODUKT_ID
  • MEDIA_ID

现在我正在尝试从Product表中获取随机结果集,但只记录在哪里 存在媒体文件。

像这样的东西(不起作用..)

Product::orderByRaw("RAND()")->media()->wherePivot('file', '=!' , '')->take(10)->get();

1 个答案:

答案 0 :(得分:1)

您应该使用:

Product::orderByRaw("RAND()")->has('media')->take(10)->get();

所有产品至少拥有一种媒体。我假设您只在product_media中存储file != ''

的条目