Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 筛选数据库中的记录,使其仅显示具有真实值的记录_Php_Html_Laravel_Laravel 8 - Fatal编程技术网

Php 筛选数据库中的记录,使其仅显示具有真实值的记录

Php 筛选数据库中的记录,使其仅显示具有真实值的记录,php,html,laravel,laravel-8,Php,Html,Laravel,Laravel 8,这个概念很简单。我有一个索引页,显示表中的每条记录,但我想创建一个下拉框,该下拉框有两个选项(表中有一个字段分配了1或0值),一个用于筛选记录以仅显示具有1的记录,另一个用于仅显示具有2的记录。有没有办法做到这一点 我尝试的是: 我的控制器: public function filter() { $energys = Energy::all(); $energys->filter(function ($energys) {

这个概念很简单。我有一个索引页,显示表中的每条记录,但我想创建一个下拉框,该下拉框有两个选项(表中有一个字段分配了1或0值),一个用于筛选记录以仅显示具有1的记录,另一个用于仅显示具有2的记录。有没有办法做到这一点

我尝试的是:

我的控制器:

   public function filter()
    {
        $energys = Energy::all();
        $energys->filter(function ($energys) {
            return $energys->isredundant == '1';
        });
    }

为什么不使用模型中可用的where方法

$energy = Energy::where('isredundant', true)->get();
这对于您想要做的事情应该很有效

如果你继续存在问题,考虑将你的数据库中的“冗余”字段作为一个布尔值,在你的能量模型中添加以下内容:

protected $casts = [
    'isredundant' => 'boolean',
];

您在这里尝试过递归函数吗???
Energy::all()
将影响您的性能。问题是我的字段不是布尔值,而是一个极小值。那么我如何使用where子句呢?那么它是一个整数,只要用1替换“true”就可以了。在这种情况下,您也不需要模型中的casts部分。因此,仅在控制器中使用此部分,我是否也需要创建一个全新的视图,或者是否仍然可以使用索引视图?您可以使用您想要的任何视图。将其放入控制器中,控制器将为您提供一组可以在视图中循环的能量对象。只需返回视图('index',['energy'=>$energy]);在路线中,我需要创建两条路线吗?一对一选择,一对另一选择?