我试图按用户可以做出的选择进行排序,其中项目存储在数据库的“类型”表中。我正在使用 Laravel 5.2。
多重选择功能的屏幕截图(丹麦语文本):
例如,他们可以选择(在多项选择中):
- 苹果
- 香蕉
- 椰子
- 西瓜
如果他们只选择 Apple,则应显示所有 Apple - 很简单。 但如果他们同时选择苹果和椰子,则应同时显示苹果和椰子。
$query = User::where('type', '=', 'Apple')->get();
得到所有的苹果。
但如果我这样做:
$query = User::where('type', '=', 'Apple')->where('type', '=', 'Coconut')->get();
仅显示同时选择 Apple 和 Coconut 的用户。用户无法在后端同时选择苹果和椰子,因此不会显示任何用户。
如何构建一个查询,其中在后端选择了 Apple 或 Coconut 类型的用户将通过构建一个查询来显示,该查询不会将输出限制为仅当用户选择了两者时(这是不可能的)对于用户)?
最佳答案
您可以使用:
$query = User::where(function($query) {
$query->where('type', '=', 'Apple')
->orWhere('type', '=', 'Coconut');
)}->get();
这将同时得到椰子和苹果..
关于php - Laravel 查询构建器具有 where 函数的限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34999693/