如何通过身份验证登录获取另一个表?以及如何在视图中显示表的数据?我尝试过关系,但我不知道是否正确...
class Login extends Authenticatable
{
protected $table = "users";
public function userProfile()
{
return $this->belongsTo(UserProfile::class)->select('id', 'photo', 'friendly_url');
}
此返回关系为null: DD(AUTH() - >用户())
Login {#307 ▼
#table: "users"
#relations: []
答案 0 :(得分:0)
relations
属性仅显示已加载的关系。
要为授权用户模型加载关系Eager loading:
$user = auth()->user();
$user->load('userProfile');
dd($user->userProfile);
然后,您可以在视图中将用户个人资料数据引用为:
$user->userProfile->friendly_url
另外,我建议您将此关系称为profile()
,而不是userProfile()
,以避免重复用户'字。
最佳解决方案 - 将用户个人资料数据保存在users
表中。这样做更简单,并且减少了对您的数据库的请求数量。