如何从Laravel中的数据库返回另一个用户的值

时间:2017-03-26 06:00:27

标签: laravel

我正在使用laravel包中包含的基本身份验证系统,并且具有包含以下内容的用户架构:

Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });

我正在使用Auth::user()->name来返回当前用户的名称。

是否有预定义的函数来返回具有特定ID的用户名?

如果没有,我该怎么做?

3 个答案:

答案 0 :(得分:1)

如果您使用std::is_invocable返回用户名称,则可以使用Auth::user()->name返回该用户的Auth::user()->id

请在您提出的问题中添加更多详细信息?

id基本上是Auth::user(),用于检查用户是否已登录。它只返回记录用户的值。

现在,如果您想使用id获取用户的数据。您可以使用控制器功能..

首先在控制器

之上声明middleware
User

然后编写函数

use User;

访问它

转到public function getUser($id) { $user = User::where('id','=',$id) ->first(); return $user; } 并撰写web.php

route

现在通过

访问它
Route::get('/user/{id}','YourController@getUser');

答案 1 :(得分:0)

用户是位于此处的模型:

App\User;

您可以引用此模型并使用Eloquent通过ID找到特定用户来执行此操作:

$user = App\User::find($id);

或者,如果您愿意,可以使用流体查询构建器:

$user = Illuminate\Support\Facades\DB::table('users')->where('id', $id)->first();

这两种方法都能正常工作。这取决于你的需求。

答案 2 :(得分:0)

我真诚地建议你去read the docs

$user = App\User::find($id);
// Check if null or use App\User::findOrFail($id)
$user->name();