【发布时间】: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();一样。这样,无论您的方法中发生什么其他情况,变量都存在。