【问题标题】:Undefined offset: 1 error daterange explode array未定义的偏移量:1 错误日期范围爆炸数组
【发布时间】:2017-10-10 16:50:44
【问题描述】:

我从日期范围中获取值并使用explode to array error line whereBetween

$range = Input::get('daterange') ;
    $date = explode('to', $range);
    //dd($date);

    $temp = Temps::select('temp')
        ->orderBy('date_temp', 'asc')
        ->whereBetween('date_temp',[$date[0], $date[1]])
        ->get()
        ->pluck('temp');

1/1) ErrorException 未定义的偏移量:1

【问题讨论】:

  • 你能发布$range结果吗
  • 请您打印 $range 内容或 Input::get('daterange')
  • dd($range) = "09/11/2017 - 10/10/2017"
  • dd{$date) = array:1 [▼ 0 => "09/11/2017 - 10/10/2017" ]

标签: php arrays laravel


【解决方案1】:

你需要改变,因为范围是$range='09/11/2017 - 10/10/2017';。你需要使用-分割

$date = explode('-', $range);

如果你打印$date

Array
(
    [0] => 09/11/2017 
    [1] =>  10/10/2017
)

还请注意,您可以直接传递数据。您将得到而不是 [$date[0], $date[1],因为 whereBetween 接受数组并且 $date 是一个数组

$temp = Temps::select('temp')
        ->orderBy('date_temp', 'asc')
        ->whereBetween('date_temp',$date)
        ->get()
        ->pluck('temp');

【讨论】:

    【解决方案2】:

    试试这个:

    $date = explode('-', $range);
    

    您试图用变量中不存在的字符串来爆炸变量,这就是为什么您在 $date 中仅使用一个数组获得相同的变量的原因

    【讨论】:

      猜你喜欢
      • 2016-06-26
      • 1970-01-01
      • 1970-01-01
      • 2015-12-21
      • 2016-07-22
      • 1970-01-01
      • 2013-04-22
      • 2013-01-26
      • 1970-01-01
      相关资源
      最近更新 更多