即使条件为假,其他部分也不执行Laravel 5.2

时间:2016-04-25 16:50:08

标签: php laravel laravel-5.1 laravel-5.2

我正在开发一个Web应用程序,我正在搜索学生的结果。通过输入学生名单,我没有从Database获取他的数据。我有学生模型和学生控制器,我从表格和字段{{1获得输入}。我正在比较$ rollno和它工作正常的关键字,但是当我输入name = keyword时,其他部分就会执行,无论我输入什么,它都会显示空视图,否则部分不会执行。

搜索功能在学生控制器中

roll no 0

已更新:

感谢Alex清除问题但是我将搜索功能更改为以下内容并且完美无缺。

public function search()
        {
            $keyword = Input::get('keyword');
            $rollno = Student::find($keyword);
            if($rollno = $keyword){
                return View::make('results.single')
                ->with('search',Student::where('rollno',$keyword)
                ->get())->with('keyword',$keyword);
            }else{
                return 'Nothing Found';
            }
}

2 个答案:

答案 0 :(得分:2)

首先,您要尝试将字符串与对象进行比较。您应该添加->keywordRow,只需将keywordRow更改为真实的。{/ p>

其次,使用=====(更好)运算符进行比较。 =assignment operator

$keyword = Input::get('keyword');
$rollno = Student::find($keyword)->keywordRow;
if($rollno === $keyword){

答案 1 :(得分:0)

你的if条件是:

if($rollno = $keyword)

这意味着您要将$keyword分配给$rollno。所以这是作业true。因此,您的if条件总是成功,而else部分没有任何意义。您必须在if

中使用精确比较运算符