Laravel ->when() 大于或小于

标签 laravel eloquent

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

例如我正在尝试做的事情:

我已将事件表加入兴趣表,并根据 ID 我想运行不同的 where 条件。

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

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

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

最佳答案

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

通过使用做到这一点:

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

关于Laravel ->when() 大于或小于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57127911/

相关文章:

laravel - 无法运行 Laravel 4

mysql - Laravel MySQL JSON LIKE 查询

mysql - 如何使用 Laravel 的流畅查询构建器选择计数和使用位置?

php - 从预先加载的 laravel 集合中加载特定的列

php - Laravel 5.1 - 使用 where Eloquent 查询数据透视表的字段

laravel - 如何从 laravel 中的多维数组中获取特定字段值

Laravel 5.0,env() 在并发请求期间返回 null

php - 如果不是整数或日期,如何在查询构建器中获取组中的最后一项?

php - 在 Laravel Eloquent 中查询只有日期的日期时间字段

Laravel:columnize() 必须是数组类型,给定字符串,调用