Laravel 查询生成器 table 加入

Laravel Query builder table join

我需要将其转换为 Laravel 查询生成器:

原始 SQL:

Select * from requests where user_id in (select user_id from profiles where total_sales <= 10);

这是我的查询生成器:

public static function apply(Builder $builder, $value)
{
 return $builder->where('user_id', function($query) use ($value) {
        $query->where('profiles.total_sales','<=',$value);
    });
}

这是行不通的。我错过了什么?

PS:这是大型动态查询的一部分,这是不起作用的部分,所以我只发布查询的这一部分。

我在@ljubadr 提供的 link 的帮助下创建了查询:

public static function apply(Builder $builder, $value){ return $builder->whereIn('user_id', function($query){
            $query->select('user_id')
                ->from(with(new UserProfile)->getTable())
                ->where('profiles.total_sale','<', 1);
        });

}

谢谢@ljubadr。