我正在尝试找出使用Sentry 2时如何返回为用户模型设置的关系的方法。
通常,我有一个这样检索的用户:
$user = User::find(1);
// get some relation
return $user->profile->profile_name;
但是,现在实现了Sentry 2后,我可以像这样检索登录的用户:
$user = Sentry::getUser();
这样,我可以轻松访问users
数据库中的表,但是如何获取在User.php
模型中设置的关系和方法呢?
这似乎很笨拙,而不是Laravel式的:
User::find(Sentry::getUser()->id)->profile->wizard_completed;
似乎……倒退了。
你们可以帮我吗?=)
扩展Sentry创建您自己的用户模型,并在其中建立关系:
<?php
use Cartalyst\Sentry\Users\Eloquent\User as SentryModel;
class User extends SentryModel {
public function profile()
{
return hasOne(...);
}
}
发布哨兵的配置:
php artisan config:publish cartalyst/sentry
并告诉Sentry使用您的模型,该模型现在扩展了Sentry的所有功能以及您的功能:
'model' => 'User',
然后,您将能够:
echo Sentry::getUser()->profile->wizard_completed;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句