Как передать значения в массиве из контроллера для просмотра - PullRequest
0 голосов
/ 27 апреля 2018

Я новичок в Laravel и пытаюсь передать значения из контроллера, которые я получил от <form>, в представление и отобразить его в текстовых полях. Хотя я выяснил, как сделать то же самое, используя цепочку методов, но я хотел бы передать значения с помощью массива и показать то же самое в текстовых полях в представлении.

Что я ожидаю сделать?

В controller вместо метода цепочки:

return view('showvalues')->with(['name'=>$name, 'address'=>$address]);

Код до сих пор,

controller

 public function showvalues(Request $request)
    {
        $name=$request->get('name');
        $address=$request->get('address');
        $pass=$request->get('password');
        $arr=array("$name","$address","$pass");

        return view('showvalues')->with('name',$name)->with('address',$address);
    }

Показать значения в showvalues представлении:

<html>
    <head>

    </head>
    <body>
        <h1>
            Show Value Page.
        </h1>
        <input type="text" name="n1" value="<?php echo $name;?>" /><br>
        <input type="text" name="n3" value="<?php echo $address;?>" />
    </body>
</html>

Ответы [ 4 ]

0 голосов
/ 27 апреля 2018

а как же

return view('showvalues')->withName($name);

Или

return view('showvalues')->with(['name'=>$name]);
0 голосов
/ 27 апреля 2018

Используйте метод compact в качестве второго аргумента для view:

public function showvalues(Request $request)
{
    $name = $request->get('name');
    $address = $request->get('address');
    $pass = $request->get('password');

    return view('showvalues', compact('name', 'address', 'pass'));
}

Переменные будут доступны в вашем файле просмотра с тем же именем, вы можете отображать их как:

{{ $name }}
{{ $address }}
{{ $pass }}
0 голосов
/ 27 апреля 2018

Вам необходимо вернуть все form входы с функцией compact.

Контроллер

public function showvalues(Request $request)
{
    $form = $request->all();

    return view('showvalues', compact('form'));
}

View

{{ $form['name'] }}
{{ $form['address'] }}
0 голосов
/ 27 апреля 2018

Передать массив в качестве второго аргумента view():

return view('showvalues', ['name'=>$name, 'address'=>$address]);

Кстати, вы пытались открыть Руководство Ларавела ?

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