laravel 5.8: показывать пустые поля новому пользователю на странице профиля - PullRequest
1 голос
/ 19 сентября 2019

Я настраиваю раздел профиля.

Я хочу показать пустые поля новому пользователю.

Сначала я попробовал это, но это не сработало, потому что таблица профиля нового пользователя пуста.

<li>Name :<br>
    <p>
      {{ Auth::user()->profile->name }}
    </p>
 </li>

Итак, затем я попробовал это.

<p>@if(!empty(Auth::user()->profile->name))
      {{ Auth::user()->profile->name }}
    @endif</p>

Это сработало, я мог видеть пустое поле без ошибок.Но после того, как я вставил «имя» и перенаправил на страницу index.blade.php, «имя» не появилось, все еще пустое.

Я хочу увидеть страницу профиля, заполненную информацией профиля пользователя.

Затем, наконец, я попробовал это.

@if($profile->count() > 0)
    <ul class="information">
        <li>Name :<br>
           <p>
             {{ Auth::user()->profile->name }}
           </p>
         </li><br>
@endif

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

UserController.php

public function store(Request $request) {

        $this->validate($request,[
            'name' => 'required'
        ]);

        $profile = new Profile;

        $profile->name = $request->input('name');

        $profile->save();

        return redirect()->route('profile.index');

    }

web.php

Route::prefix('user')->group(function(){
    Route::resource('profile', 'UserController');
});

также я хочу показать информацию профиля на странице редактирования.

Я рад, если кто-то мне поможет.

Ответы [ 3 ]

1 голос
/ 19 сентября 2019

In UserController,

public function index()
    {
       $profiles=Profile::all()
        return view('your_view_file_path', compact('profiles'));
    }

In Blade

@foreach($profiles as $profile)
<li>Name :<br>
           <p>
             {{profile->name}}
           </p>
         </li><br>
@enforeach
0 голосов
/ 19 сентября 2019

Как насчет простого сохранения значений имени для ввода тега, чтобы вы могли передавать все значения.Может быть, это может быть проблема?

@if($profile->count() > 0)
    <ul class="information">
        <li>Name :<br>
           <input type="text" name="name1" value="
             {{ Auth::user()->profile->name }}" />
         </li><br>
@endif

Внутри вашего контроллера:

public function store(Request $request) {

        $this->validate($request,[
            'name' => 'required'
        ]);

        $profile = new Profile;

        $profile->name = $request->input('name1');

        $profile->save();

        return redirect()->route('profile.index');

    }
0 голосов
/ 19 сентября 2019

Попробуйте изменить:

return redirect()->route('profile.index');

Кому:

return redirect()->route('profile.index', [$profile]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...