Mar*_*rty 4 php model relation laravel-4 cartalyst-sentry
我正在尝试找出如何在使用Sentry 2时返回我为User模型设置的关系.
通常,我有一个像这样检索的用户:
$user = User::find(1);
// get some relation
return $user->profile->profile_name;
Run Code Online (Sandbox Code Playgroud)
但是,现在当我实现Sentry 2时,我可以像这样检索登录用户:
$user = Sentry::getUser();
Run Code Online (Sandbox Code Playgroud)
这样我就可以轻松访问users我的数据库中的表,但是如何获取我在User.php模型中设置的关系和方法呢?
这似乎是丛生的方式,而不是Laravel-ish:
User::find(Sentry::getUser()->id)->profile->wizard_completed;
Run Code Online (Sandbox Code Playgroud)
看起来有些......倒退了.
你能帮助我吗?=)
Ant*_*iro 21
使用您的关系扩展Sentry创建您自己的用户模型:
<?php
use Cartalyst\Sentry\Users\Eloquent\User as SentryModel;
class User extends SentryModel {
public function profile()
{
return hasOne(...);
}
}
Run Code Online (Sandbox Code Playgroud)
发布sentry的配置:
php artisan config:publish cartalyst/sentry
Run Code Online (Sandbox Code Playgroud)
并告诉Sentry使用您的模型,现在扩展Sentry的所有功能加上您的模型:
'model' => 'User',
Run Code Online (Sandbox Code Playgroud)
那么你将能够:
echo Sentry::getUser()->profile->wizard_completed;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3320 次 |
| 最近记录: |