【问题标题】:Undefined Variable in function函数中未定义的变量
【发布时间】:2014-10-08 22:26:04
【问题描述】:

大家好,我正在做一个简单的数据库搜索,在函数内部它说没有定义一个变量我觉得这是一个简单的修复,但我似乎无法弄清楚为什么我不能将数组传递给视图,需要任何帮助,我的控制器在下面。

ErrorException 抛出消息“未定义的变量:数组” 18 C:\xampp\htdocs\Laravel\app\controllers\HomeController.php:24 中的错误异常

<?php

 class HomeController extends BaseController {

public function showWelcome()
{
    return View::make('hello');
}

 public function getSearch(){
    $query = Input::get('query'); 
    $Validator = Validator::make(Input::all(),
        array(
            'query' => 'required| min:5 | max:50 '
            ));

    if($Validator->fails()){
        echo "Baddd";
    }
    else{
        $raw_results =  DB::table('students')->select('Name', 'Date' ,'Class')->where('Name', 'LIKE', "%$query%")->get();
        $array = json_decode(json_encode($raw_results), true);
    }
    return View::make('Student.Student', array('Results' => $array));
}

}

【问题讨论】:

  • 请贴出错误信息(如果可能的话,附上行号)以便我们更好地定位错误!
  • 只有在验证通过时才设置$array。所以我猜验证失败了?
  • 对不起,但我的错误是在返回,它说未定义的变量数组
  • 验证失败不是我的错误,我还需要访问该页面才能验证任何内容,但我看不到它
  • 您可以尝试在方法顶部声明变量 $array,就像在设置 $query 之前声明 $array = array(); 一样。这样,无论您的方法中发生什么其他情况,变量都存在。

标签: php laravel laravel-4


【解决方案1】:

感谢 Chris,我需要将 $array 作为空数组放入验证器中

   <?php

   class HomeController extends BaseController {

    public function showWelcome()
   {
      return View::make('hello');
   }

 public function getSearch(){
    $query = Input::get('query'); 
    $Validator = Validator::make(Input::all(),
        array(
            'query' => 'required| min:5 | max:50 '
            ));

    if($Validator->fails()){
        echo "Baddd";
        $array =  array();
    }
    else{
        $raw_results =  DB::table('students')->select('Name', 'Date' ,'Class')->where('Name', 'LIKE', "%$query%")->get();
        $array = json_decode(json_encode($raw_results), true);
    }
    return View::make('hello', array('Results' => $array));
}
}

【讨论】:

    猜你喜欢
    • 2018-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多