2014-10-08 218 views
0

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

ErrorException抛出与消息 “未定义变量:数组” 18 ErrorException在C:\ XAMPP \ htdocs中\ Laravel \应用\控制器\ 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)); 
} 

}

+0

请发布错误消息(如有可能,请使用行号),以便我们可以更好地找到错误! – Rizier123 2014-10-08 22:27:36

+4

如果验证通过,您只设置'$ array'。所以我猜测验证失败了? – Jonathon 2014-10-08 22:45:18

+0

对不起,但我的错误是在返回,它说undefined变量数组 – Charles 2014-10-09 00:57:10

回答

0

谢谢克里斯我需要把$ 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)); 
} 
}