Привет Я относительно новичок в Laravel и пытаюсь создать проверку подписки. Пожалуйста, не предлагайте кассиру, поскольку платежи будут использовать альтернативные методы, такие как биткойн.Laravel отношения/обработка подписки
У меня есть две модели модели пользователя и модель подписки.
В пользовательской модели у меня есть подписка на метод, которая возвращает отношение, которое у пользователя имеет одну подписку.
public function subscription()
{
return $this->hasOne(Subscription::Class);
}
В подписной модели у меня есть метод, который возвращает пользователь отношений, что подписка принадлежит пользователю
public function user()
{
return $this->belongsTo(User::Class);
}
Я теперь хочу вернуть статус в моем шаблоне лопастного ли ток дата заканчивается в конечной дате в таблице подписки. Я создал метод isSubscribed в модели подписки, чтобы вернуть текущую дату за конечную дату.
public function isSubscribed()
{
$now = Carbon::now();
if ($now->gt($this->enddate))
{
return false;
}
return true;
}
В шаблоне лопастной я показываю данные, основанные на возвращает ли метод подписки пользователя истинным или ложным
@if(Auth::user()->subscription->isSubscribed())
You're subscribed
@else
You're not subscribed
@endif
Вопрос теперь у меня есть то, что если запись не существует для пользователь в подписке ее метание ошибки
вызова функции члена isSubscribed() на нуле
есть ли способ вернуть ложь, если записей не существуют для использования r в модели подписки, или я делаю это совершенно неправильно?
Извините, если это невероятный простой ответ, но я просмотрел документы и не могу найти что-либо.
Это не работает либо он просто бросает ошибку ниже 'Вызов неопределенной метод Осветите \ Database \ Query \ Builder :: IsEmpty()' И если я 'Auth :: user() -> subscription-> isEmpty() ' Он снова порождает нулевую ошибку – Paradigm
На какой странице вы показываете это? Я предполагаю, что вам нужно войти в систему при просмотре этого, потому что, если вы можете просмотрите эту страницу как гость, которая, очевидно, не будет работать – Christophvh
Это под промежуточным ПО Auth, поэтому вам нужно войти в систему vi это его. Если у меня есть запись в таблице Subscription для пользователя, она не бросает ошибку, она выдает ошибку только в том случае, если подписка не содержится в таблице. – Paradigm