我正在尝试找出如何返回我在使用 Sentry 2 时为我的用户模型设置的关系。
通常,我会像这样检索用户:
$user = User::find(1);
// get some relation
return $user->profile->profile_name;
但是,现在当我实现了 Sentry 2 后,我可以像这样检索登录用户:
$user = Sentry::getUser();
这样我可以很容易地访问我的数据库中的 users
表,但是我该如何获取我在 User.php
中设置的关系和方法型号?
这看起来有点笨拙,而不是 Laravel-ish:
User::find(Sentry::getUser()->id)->profile->wizard_completed;
这似乎有点……倒退了。
你们能帮帮我吗? =)
最佳答案
Extend Sentry 创建你自己的 User 模型和你的关系:
<?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;
关于php - 使用 Laravel 4 用户模型关系与 Sentry 2 包的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21890188/