代码之家  ›  专栏  ›  技术社区  ›  fefe

拉维尔在约会时用“has”和“where”口若悬河

  •  0
  • fefe  · 技术社区  · 6 年前

    当一对多关系中只有一个记录并且只有 start_date 比现在还大()下面是我正在尝试的:

    $newStarters = User::has('periods', 1)->with(['periods' => function($q) {
                $q->where('start_date', '>', Carbon::now()->subWeek(2)->format('Y-m-d') );
            }])->get();
    

    在这种情况下,日期筛选器不适用。

    道具是怎么做的?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Marcin Nabiałek    6 年前

    可能你在看这个:

    $newStarters = User::whereHas('periods',  function($q) {
                $q->where('start_date', '>', Carbon::now()->subWeek(2)->format('Y-m-d') );
            }, '=', 1)->get();
    

    Query relationship existence 部分了解更多详细信息。