Php 即使条件为false Laravel 5.2,Else零件也不执行

Php 即使条件为false Laravel 5.2,Else零件也不执行,php,laravel,laravel-5.1,laravel-5.2,Php,Laravel,Laravel 5.1,Laravel 5.2,我正在开发一个Web应用程序,在其中搜索学生结果。通过输入学生卷号,我从数据库中获取他的数据。我有学生模型和学生控制器,我从表单和字段name=keyword获取输入。我正在比较$rollno和关键字,它工作得很好,但是当我输入roll no 0时,else部分只是执行,没有零。无论我输入什么,它都会显示空视图,而else部分不执行 搜索功能位于学生控制器中 public function search() { $keyword = Input::get(

我正在开发一个Web应用程序,在其中搜索学生结果。通过输入学生卷号,我从数据库中获取他的数据。我有学生模型和学生控制器,我从表单和字段
name=keyword
获取输入。我正在比较$rollno和关键字,它工作得很好,但是当我输入
roll no 0
时,else部分只是执行,没有零。无论我输入什么,它都会显示空视图,而else部分不执行

搜索功能位于学生控制器中

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';
            }
}
更新:

感谢Alex澄清了这个问题,不过我将搜索功能改为下面的,效果非常好

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

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

其次,使用
=
==
(更好)运算符进行比较<代码>=是一个

如果您的情况是:

if($rollno=$keyword)


这意味着您正在将
$keyword
分配给
$rollno
。所以这是赋值为
真的
。因此,您的
if
条件始终成功,而您的
else
部分没有意义。你必须在
if

中使用精确的比较运算符你必须比较而不是赋值
if($rollno=$keyword){
这不是比较。这是错误的。
==
需要我将代码更改为
$keyword=Input::get('keyword');$rollno=Student::find($keyword);if($keyword====$rollno['rollno']){}
但现在仍不工作,其他部件已损坏executing@LaravelWarrior你得到了答案。建议:-根据你的问题,这是任何人都可以给出的答案,因为我们不知道它是什么以及如何执行的。你必须在你这边检查。等待他回答。你已经标记了他的答案。你可以检查两个变量的内容可以使用
dd()
var\u dump()
。例如:
var\u dump($rollno['rollno'])
var\u dump($keyword)
我很高兴能提供帮助。
$keyword = Input::get('keyword');
$rollno = Student::find($keyword)->keywordRow;
if($rollno === $keyword){