【发布时间】:2018-02-21 12:59:45
【问题描述】:
我正在使用这个包:https://github.com/gerardojbaez/laraplans,文档有点混乱。
用户的信息可以从订阅计划中获取,但反之则不行,所以我在尝试使用 2 种(或更多)订阅计划时遇到问题。
我的 HomeController 上有这个:
public function account()
{
$user = Auth::user();
$plan = $user->subscription('Pro');
return view('auth.profile')->with('user', $user)->with('plan', $plan);
}
这在我看来
<li class="list-group-item">
{{ $plan->ends_at }}
</li>
<li class="list-group-item">
{{ $plan->user->name }}
</li>
从这里您可以了解模型的连接方式,现在,您可以在 HomeController 帐户功能上看到我访问订阅的方式是通过它的名称。
我如何知道经过身份验证的用户的有效订阅?我在想通过数据库上 plan_suscriptions 表上的 user_id,但是当我尝试访问它时,我总是得到 NULL。
我认为我的逻辑方法有缺陷。
在包装上的 PlanSubscriber Trait 中有一个似乎可以解决我的问题的功能:
/**
* Get user plan subscription.
*
* @return \Illuminate\Database\Eloquent\Relations\HasOne
*/
public function subscriptions()
{
return $this->hasMany(config('laraplans.models.plan_subscription'));
}
但是当使用 dd();在我的控制器上使用该功能时,我得到以下信息:
功能:
public function account()
{
$user = Auth::user();
$plan = $user->subscriptions();
dd($plan);
}
DD:
如您所见,没有可以从中获取信息的属性,所以我不确定我是否正确使用了这种关系。
【问题讨论】:
标签: php laravel laravel-5.4