在某些路线中显示隐藏的 属性 (api_token)
Show hidden property in certain routes (api_token)
我正在使用 Laravel 5.5.13。我通过以下方式为我的用户迁移提供了一个 api_token 字段:
php artisan make:migration --table=users adds_api_token_to_users_table
然后像这样实施迁移:
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->string('api_token', 60)->unique()->nullable();
});
}
public function down()
{
Schema::table('users', function (Blueprint $table) {
$table->dropColumn(['api_token']);
});
}
我希望此 "api_token" 字段仅针对某些端点显示,而对其余端点隐藏。如果在我的 User.php 模型中,如果我添加到 protected $hidden = []
数组,那么它会全部隐藏。我需要这个 "api_token" 字段显示在我的 LoginController.php:
中的注册和登录端点
public function login(Request $request)
{
$this->validateLogin($request);
if ($this->attemptLogin($request)) {
$user = $this->guard()->user()->load('pets');
$user->generateToken();
return $user;
}
return $this->sendFailedLoginResponse($request);
}
在我的 RegisterController.php
protected function registered(Request $request, $user)
{
$user->generateToken();
return response()->json($user, 201);
}
是否可以在这些端点中显示隐藏字段?
如果您想让一些通常隐藏的属性在给定的模型实例上可见,您可以使用 makeVisible()
方法。
https://laravel.com/docs/5.5/eloquent-serialization
我正在使用 Laravel 5.5.13。我通过以下方式为我的用户迁移提供了一个 api_token 字段:
php artisan make:migration --table=users adds_api_token_to_users_table
然后像这样实施迁移:
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->string('api_token', 60)->unique()->nullable();
});
}
public function down()
{
Schema::table('users', function (Blueprint $table) {
$table->dropColumn(['api_token']);
});
}
我希望此 "api_token" 字段仅针对某些端点显示,而对其余端点隐藏。如果在我的 User.php 模型中,如果我添加到 protected $hidden = []
数组,那么它会全部隐藏。我需要这个 "api_token" 字段显示在我的 LoginController.php:
public function login(Request $request)
{
$this->validateLogin($request);
if ($this->attemptLogin($request)) {
$user = $this->guard()->user()->load('pets');
$user->generateToken();
return $user;
}
return $this->sendFailedLoginResponse($request);
}
在我的 RegisterController.php
protected function registered(Request $request, $user)
{
$user->generateToken();
return response()->json($user, 201);
}
是否可以在这些端点中显示隐藏字段?
如果您想让一些通常隐藏的属性在给定的模型实例上可见,您可以使用 makeVisible()
方法。
https://laravel.com/docs/5.5/eloquent-serialization