如果关键字不存在,则为Laravel 5错误消息

时间:2017-07-06 14:18:07

标签: php laravel if-statement search laravel-5

我收到此消息的原因。 当我调用没有数据库的东西时,我想要一条错误消息。

我是laravel的新手,我知道我必须写下其他条件,但我不知道如何。

  

FatalErrorException

     

方法Illuminate \ View \ View :: __ toString()不能抛出异常,   捕获ErrorException:未定义的变量:yyy(查看:   /Users/xxx/Work/yyy/resources/views/yyy/index.blade.php)

    <?php
namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use DB;

class SearchController extends Controller {

public function getSearch(Request $request) {

    $search = $request->input('search');

    if(empty($search)) {
        return "please search something!";
    }

    $searchResult = DB::table('yyy')->where('dateOfReport', 'LIKE', "%$search%")->get()->toArray();

    return view('search.searchResult', ['searchResult' => $searchResult, 'search' => $search]);
}

}

这里也是我的view.blade文件:

@extends('layout')


@section('content')

<h1>Detaily yyy Reports</h1>

<h2>{{$yyy->temperature }}°C</h2>

<p>{{$yyy->dateOfReport}}

    <a href="/yyy/{{$yyy->id}}/delete" onclick="return confirm('Are you sure to delete?');"><font color="red">Delete</font></a>

    Report created at: {{$yyy->created_at}}

    @if($yyy->created_at != $yyy->updated_at)

    Report updated at: {{$yyy->updated_at}}

    {{ csrf_field() }}

    @endif

@endsection
谢谢你的时间!

1 个答案:

答案 0 :(得分:1)

此错误似乎源自您的视图代码,而不是控制器。

您可能在视图中使用$yyy变量,而您没有在控制器中分配它。 即

return view('search.searchResult', ['searchResult' => $searchResult, 'search' => $search, 'yyy' => 'this is your assigned variable value']);