Laravel ->when() 大于或小于

EmJ*_*iEn 2 laravel eloquent

我想根据 id 运行不同的 ->where() 条件。

举例说明我正在尝试做的事情:

我已将活动表加入到兴趣表中,并根据 ID 我想运行不同的位置条件。

 ->when('activity.id' <= '214469112', function ($q) {
    return $q->where('interests.type', 'regular');
       }, function ($q) {
       return $q->where('activity.main', 1);
       })->get();
Run Code Online (Sandbox Code Playgroud)

然而 ->when() 似乎不尊重 <= => 大于或小于并且总是返回 false,因此 return $q->where('activity.main', 1);总是使用。

我有什么想法可以实现基于大于或小于 Activity.id 的不同 ->where() 条件吗?

EmJ*_*iEn 6

唉,有时候人们只是想把问题复杂化。

通过使用以下方法做到了这一点:

Where('id', '>', int)->where('condition1')->orWhere('id', '<=', int)->where('condition2')->get();

  • php中没有=&lt;操作符,必须是&lt;= (3认同)