【发布时间】:2015-04-19 11:32:16
【问题描述】:
我有一个自定义 AppUserProvider 来从缓存设置中获取我的用户,如下所示:
class AppUserProvider extends \Illuminate\Auth\EloquentUserProvider {
public function retrieveById($identifier)
{
return \App\Models\User::getById($identifier);
}
}
然后在使用 Eloquent 检索对象并返回它之后,我在 getById 方法中为其设置自定义属性。
$user->test = 'test';
一切正常,但是当我点击注销时出现错误。
update `users` set `test` = ?, `remember_token` = ?, `updated_at` = ? where `id` = ?')
不确定它为什么要更新 test 参数。
【问题讨论】:
-
这个
test属性是干什么用的?当 Laravel 对模型运行更新时,它会获取所有(更改的)属性并将它们放入查询中。 -
我实际上将权限从键/值存储到参数以便于访问,例如
Auth::user()->permissions->save_file。也许有更好的方法来处理这个。
标签: php laravel eloquent laravel-5