【发布时间】:2015-09-04 22:50:59
【问题描述】:
我正在使用 Laravel 的 Socialite 向应用程序添加社交身份验证。我可以检索全名,但不能分别检索名字和姓氏。在回调发生并且社交名流正在处理它之后,用户被成功检索。如果我要转储从$user = this->social->driver('facebook')->user(); 回来的用户,我会得到以下信息:
object(Laravel\Socialite\Two\User)#459 (8) {
["token" ]=> string(209) "{token}"
["id"] => string(17) "{socialID}"
["nickname"] => NULL
["name"] => string(14) "{Full Name}"
["email"] => string(19) "{Email address}"
["avatar"] => string(69) "https://graph.facebook.com/v2.4/{socialID}/picture?type=normal"
["user"] => array(6) {
["first_name"] => string(6) "{First name}"
["last_name"] => string(7) "{Last mame}"
["email"] => string(19) "{Email address}"
["gender"] => string(4) "male"
["verified"] => bool(true)
["id"] => string(17) "{socialID}"
}
["avatar_original"] => string(68) "https://graph.facebook.com/v2.4/{socialID}/picture?width=1920"
}
我可以通过$user->name 或$user->email 获得全名或电子邮件,但是我无法获得单独的名字和姓氏。我尝试过$user->first_name 以及尝试转储$user->user 数组,但我看到的只是未定义的属性错误。
我不想做一些奇怪的事情,比如当单独的名字和姓氏明显存在时从全名中提取它,因为当存在中间名时它会变得难看。
我在 Google 上搜索了一下,奇怪的是,没有人遇到这个问题。我错过了the docs 的某些内容吗?
非常感谢有关如何从 user 数组中检索名字和姓氏的任何建议。
【问题讨论】:
-
$user->user['first_name']应该可以解决问题 -
@koala_dev 出于某种神奇的原因,到目前为止,用户数组只是另一个未定义的属性。这很愚蠢 :) 请将此添加为答案,以便我将其标记为已回答。谢谢
标签: php laravel laravel-5.1