我使用的是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);
}
是否可以在这些端点中显示隐藏字段?
答案 0 :(得分:3)
如果您想在给定的模型实例上显示一些通常隐藏的属性,可以使用rand(1600,100)
方法。
https://laravel.com/docs/5.5/eloquent-serialization