php - 从数据库中过滤记录,使其仅显示具有真实值的记录
问题描述
这个概念很简单。我有一个索引页面,它显示表中的每条记录,但我想创建一个包含 2 个选项的下拉框(我的表中有一个字段分配了 1 或 0 值),1 用于过滤记录仅显示具有 1 的记录,另一个仅显示具有 2 的记录。有没有办法做到这一点?
我试过的是:
我的控制器:
public function filter()
{
$energys = Energy::all();
$energys->filter(function ($energys) {
return $energys->isredundant == '1';
});
}
解决方案
为什么不使用模型中可用的 where 方法?
$energy = Energy::where('isredundant', true)->get();
这应该很适合您想要做的事情。
如果您仍然遇到问题,请考虑将数据库中的“isredundant”字段转换为布尔值,方法是将以下内容添加到您的 Energy 模型中:
protected $casts = [
'isredundant' => 'boolean',
];
推荐阅读
- sql-server - 将记录的数据库列中的数据分解为多条记录
- python - 如何使用 sklearn.countvectorizer?
- c# - 在 ASP.NET Core 中使用 ADO.NET 作为数据访问层
- python - 如何在 Google Dataflow 上安装 python 包并将其导入我的管道?
- java - 可在任何 Android 设备上工作的坐标
- javascript - Froala / PHP - 图片上传失败(出了点问题......)
- python - 考虑到2个不同范围子图中的单个颜色条,pcolor和contourf的颜色条有什么区别
- c# - C# 编译器不正确的异步,等待?
- python - Neo4J Cypher 复杂查询
- react-native - 使用 react-native 为 redux 动态创建 action 和 reducer 是个好主意吗?