【问题标题】:laravel 5.8: show empty fields to a new user in profile pagelaravel 5.8:在个人资料页面中向新用户显示空字段
【发布时间】:2019-09-19 06:39:29
【问题描述】:

我正在设置个人资料部分。

我想向新用户显示空白字段。

首先我尝试了这个,但它不起作用,因为新用户的配置文件表是空的。

<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');
});

我还想在编辑页面上显示个人资料信息。

如果有人帮助我,我很高兴。

【问题讨论】:

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


    【解决方案1】:

    在用户控制器中,

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

    在刀片中

    @foreach($profiles as $profile)
    <li>Name :<br>
               <p>
                 {{profile->name}}
               </p>
             </li><br>
    @enforeach
    

    【讨论】:

    • 您好,感谢您的帮助。但是我遇到了语法错误->.
    【解决方案2】:

    尝试改变:

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

    收件人:

    return redirect()->route('profile.index', [$profile]);
    

    【讨论】:

      【解决方案3】:

      如何简单地将名称值保留到输入标签,以便您可以传递所有值。也许这可能是个问题?

      @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');
      
          }
      

      【讨论】:

        猜你喜欢
        • 2022-12-02
        • 2020-01-23
        • 2016-06-26
        • 2015-03-06
        • 1970-01-01
        • 2014-05-06
        • 1970-01-01
        • 1970-01-01
        • 2016-09-01
        相关资源
        最近更新 更多