登录blade.php后需要显示用户详细信息

时间:2018-07-30 08:54:39

标签: php laravel-5.6

public function index(){
      $user =  DB::table("users")->where("id", 1)->get();
      return view('home',['user'=>$user]);
   }

此处“ id = 1”必须更改,并应显示当前登录的用户详细信息。

4 个答案:

答案 0 :(得分:2)

如果您使用Laravel的默认登录实现,只需使用 public AesEncryptor() { // AES - CBC - with default PKCS5/PKCS7 scheme _encryptionCipher = new PaddedBufferedBlockCipher(new CbcBlockCipher(new AesEngine())); _decryptionCipher = new PaddedBufferedBlockCipher(new CbcBlockCipher(new AesEngine())); } public byte[] Encrypt(byte[] iv, byte[] byteArrayToEncrypt) { ParametersWithIV keyParamWithIV = new ParametersWithIV(_keyParam, iv, 0, iv.Length); byte[] encryptedBytes; lock (_encryptionLock) { _encryptionCipher.Init(true, keyParamWithIV); encryptedBytes = new byte[_encryptionCipher.GetOutputSize(byteArrayToEncrypt.Length)]; int length = _encryptionCipher.ProcessBytes(byteArrayToEncrypt, encryptedBytes, 0); _encryptionCipher.DoFinal(encryptedBytes, length); } return encryptedBytes; } public byte[] Decrypt(byte[] iv, byte[] byteArrayToDecrypt) { ParametersWithIV keyParamWithIV = new ParametersWithIV(_keyParam, iv, 0, iv.Length); byte[] decryptedBytesReworked; lock (_decryptionLock) { _decryptionCipher.Init(false, keyParamWithIV); var decryptedBytes = new byte[_decryptionCipher.GetOutputSize(byteArrayToDecrypt.Length)]; int length = _decryptionCipher.ProcessBytes(byteArrayToDecrypt, decryptedBytes, 0); int newLength = _decryptionCipher.DoFinal(decryptedBytes, length); //Do the final block // TODO - incorrect initial byte array length decryptedBytesReworked = new byte[length + newLength]; Array.Copy(decryptedBytes, decryptedBytesReworked, decryptedBytesReworked.Length); } return decryptedBytesReworked; } 即可获取登录的用户模型。

Auth::user()

答案 1 :(得分:0)

此处无需在模型中进行任何操作。只是做这样的事情。

获取ID-

{{ Auth::id() }}在刀片中。

OR

{{ Auth::user()->id }}

获得名字

{{ Auth::user()->name }}

并获取其他详细信息

{{ Auth::user()->databaseFieldName }}

答案 2 :(得分:0)

如果您使用的是laravel的默认身份验证系统 那么您可以直接在视图中直接使用Auth::id() Auth::user()->idAuth::user()->nameAuth::user()->email。 您只需使用Auth::user()->field_name

即可查看所有用户表字段

如果要使用控制器,则可以使用以下代码

public function index(){
    $user = Auth::user();
    return view('home',compact('user'));
}

并使用查询生成器:

public function index(){
      $user =  DB::table("users")->where("id", Auth::user()->id)->get();
      return view('home',compact('user'));
   }

public function index(){
      $user =  DB::table("users")->where("id", Auth::id())->get();
      return view('home',compact('user'));
   }

注意:请确保将Auth类导入控制器use Illuminate\Support\Facades\Auth;

答案 3 :(得分:0)

这是即时通讯使用的方式,并且有效

 @auth
   {{{ isset(Auth::user()->name) ? Auth::user()->name : Auth::user()->email }}}
   <a href="{{ url('/logout') }}"> Logout </a>
 @else
   <a href="{{ route('login') }}">Login</a>
   <a href="{{ route('register') }}">Register</a>
 @endauth