设置好护照后,我已经配置并创建了一个控制器,用于管理对一般外部邮寄请求的资源的“注册-登录--”访问。我不需要特定的客户。但是,当我尝试在注册或登录中创建令牌时:
$tokenObj=$user->createToken('APPLICATION')->accessToken;
Run Code Online (Sandbox Code Playgroud)
错误是:
RuntimeException:找不到个人访问客户端。请创建一个。在第94行堆栈C:\ xampp7.1 \ htdocs \ passport \ vendor \ laravel \ passport \ src \ ClientRepository.php中的堆栈跟踪:1. RuntimeException->()C:\ xampp7.1 \ htdocs \ passport \ vendor \ laravel \ passport \ src \ ClientRepository.php:94 2. Laravel \ Passport \ ClientRepository-> personalAccessClient()C:\ xampp7.1 \ htdocs \ passport \ vendor \ laravel \ passport \ src \ PersonalAccessTokenFactory.php:71
我该如何解决?
我想(出于项目原因),在类控制器中创建一个数组并将其传递给资源.在我的控制器类中考虑这个方法:
public function getExample(){
$attribute=array('otherInfo'=>'info');
return new ExampleResource($attribute);
}
Run Code Online (Sandbox Code Playgroud)
而我在课堂上会写一些像ExampleResource这样的东西:
public function toArray($request){
return[
'info' => $this->info
];
}
Run Code Online (Sandbox Code Playgroud)
我如何转换值$属性来执行此操作return new ExampleResource($attribute);?
请不要建议我在模型中插入字段信息,这个属性只能来自外部,来自控制器而不属于数据库中的模型.
class ExampleResource extends Resource
{
private $info;
/**
*
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function __construct($info)
{
$this->$info = $info;
}
public function toArray($request)
{
return[
'info'=>$this->$info,
'id' => $this->id
];
}
}
Run Code Online (Sandbox Code Playgroud) 我想在 Laravel 中创建一个外部类,我想在我的控制器函数中使用这个类。
最好的方法是什么?
谢谢