通过ORM从选择中删除多对多的ID

时间:2016-06-10 11:16:28

标签: mysql laravel orm many-to-many left-join

我有桌子

many-to-many table

我有部分orm查询构建器

$posts = $posts->leftJoin('mh_posts_params','mh_posts.id', '=', 'mh_posts_params.post_id')
                            ->whereRaw('mh_posts_params.param_id <> ? OR mh_posts_params.param_id IS NULL', [$query->param__not_in()]);

我的任务是完全删除选择post_id,如果它有一个非常param_id,例如6。 现在只有在没有更多参数的情况下才会删除post_id,除了6。 我可以使用ORM甚至Pure SQL执行该操作吗?

1 个答案:

答案 0 :(得分:0)

只需使用 scope :instructors_this_week, -> { Instructor.joins(:events).where(events: { :start_time => Date.today.beginning_of_week..Date.today.end_of_week }) } scope :instructor_week_limit, -> { instructors_this_week.group("instructor_id").having("count(instructor_id) < 4") } method

select()