HasManyThrough将查询限制为特定日期范围

时间:2017-05-29 00:23:14

标签: laravel

我可以使用此

检索用户帖子中的所有评论者
Method getBtnDates does not exist.

但现在我想找出所有评论用户在指定日期范围内发帖的评论者。但是我得到了这个错误

usersController
$commenters = $user->commentersOnUserPost->getBtnDates($startDate, $finishDate)->get();

commenter.php
public function scopeGetBtnDates($query, $from, $to){
    return $query->whereDate('created_at', '>=', $from)
        ->whereDate('created_at', '<=', $to);
}

当我添加

g++ test.cpp -lboost_system

我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

将范围应用于关系,而不是查询返回的集合。

$commenters = $user->commentersOnUserPost()->getBtnDates($startDate, $finishDate)->get();

要解决列歧义,请将表名添加到where子句列之前。我猜这是commenters

public function scopeGetBtnDates($query, $from, $to){
    return $query->whereDate('commenters.created_at', '>=', $from)
        ->whereDate('commenters.created_at', '<=', $to);
}