【问题标题】:Invalid argument supplied for foreach() issue in laravellaravel 中为 foreach() 问题提供的参数无效
【发布时间】:2021-05-11 08:16:11
【问题描述】:

我在控制器页面中的查询

$d= "DB::table('users')->where('gender',$gender)";    
if(!empty($age)){
$d.= "->where('age','>',$age)";
}    
$d.="->paginate(20)";

如果年龄不为空,则该时间只想将年龄添加到查询中。但查询显示为 foreach() 错误提供的参数无效。没有双引号查询运行但无法避免空年龄变量。

【问题讨论】:

  • 您可能想要访问foreach() 中不存在的变量。如果下面的答案对您没有帮助,最好提供更多代码。

标签: mysql laravel


【解决方案1】:

短版

 $d = DB::table('users')->where('gender',$gender); 

 $d = empty($age) ? $d->paginate(20) : $d->where('age','>',$age)->paginate(20);

【讨论】:

    【解决方案2】:

    请试一试:

    $d = DB::table('users')->where('gender',$gender);    
    if(! empty($age)) {
        $d = $d->where('age','>',$age);
    }    
    $d = $d->paginate(20);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-09
      • 1970-01-01
      • 2015-06-29
      • 2017-02-15
      • 2017-05-03
      • 1970-01-01
      • 1970-01-01
      • 2022-01-27
      相关资源
      最近更新 更多