Шаблон лезвия Laravel 5 Неопределенная переменная - PullRequest
0 голосов
/ 11 апреля 2019

Я выполнил поиск и хочу отобразить результат, но я не могу передать переменную в представление, хотя я указываю ее в контроллере.

Мой код вида:

<div class="search col-md-6">
    <p>
        Найти сотрудника по id
    </p>
    <form action="{{route('searchID')}}" class="search-id" method="GET">
        <div class="row">
            <div class="col-xs-10">
                <div class="form-group">
                    <input class="form-control" name="id" required="" type="text" value="{{ old('id') }}">
                    </input>
                </div>
            </div>
            <div class="col-xs-2">
                <div class="form-group">
                    <input class="btn btn-info" type="submit" value="Искать">
                    </input>
                </div>
            </div>
        </div>
        {{$result}}
    </form>
    <div>
    </div>
</div>

мой маршрут:

 Route::match(['get', 'post'], 'searchID', 'SearchController@indexID')->name('searchID');

мой метод в контроллере:

public function indexID(Request $request, View $view)
{
    //$message= "Сотрудник не найден";
    $id = $request->input('id');
    dump($id);
    $result = Staff::where('public_id', $id)->get();

    if ($result == null) {
        //dump($message);
        return redirect()->back()->withInput($id);
    } else {
        dump($result);
        return view('addworker')->with('result', $result);
    }
}

Но я постоянно получаю сообщение об ошибке: Неопределенная переменная: результат

Я пытался:

return view('addworker')->with($result);

и

return view('addworker',$result);

и

return view('addworker', ['result', $result]);

Ничто из этого не помогло мне, я не знаючто делать дальше

Как сделать так, чтобы шаблон обращался к этой переменной только после обработки контроллера?

Ответы [ 3 ]

3 голосов
/ 11 апреля 2019

Вы можете использовать компакт для того же,

return view('addworker', compact('result'));

compact - Создать массив, содержащий переменные и их значения

2 голосов
/ 11 апреля 2019

Я надеюсь, что это поможет вам

return view('addworker', ['result' => $result]);
1 голос
/ 11 апреля 2019

Вы использовали неправильный синтаксис для отправки вашей переменной в ваше представление, есть много способов сделать это:

Вы можете использовать функцию compact :

return view('addworker', compact('result'));

Вы можете использовать метод with ():

return view('addworker')->with('result', $result);

Или:

return view('addworker', ['result' => $result]);

Вы также можете проверить официальную документацию: нажмите здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...