Laravel - 在哪里存储状态(标志)?模型、类或配置文件夹?
我需要在mt项目中广泛使用状态。我需要它们用于我的(,等),实体(,,)和我的订阅(,,,)。。usersactivesuspendedactivepending_activationinactiveactiveon_grace_periodnot_subscribednever_subscribed
到目前为止,我认为最好的方法是将它们存储在数据库中,但我有一种感觉,将它们放在其他3个选项中要容易得多。
我还认为我可以将它们作为常量存储在我的模型中。例如,我的订阅模型将如下所示:Eloquent
// SubscriptionModel
const SUBSCRIBED_ACTIVE = 1;
const SUBSCRIBED_ON_GRACE_PERIOD = 2;
const NOT_SUBSCRIBED = 3;
const NEVER_SUBSCRIBED = 4;
并检索它们,例如在边栏选项卡视图中:
// subscription/index.blade.php
@if($user->subscription->status == /App/SubscriptionModel::SUBSCRIBED_ACTIVE)
<div>You are subscribed. Thank you</div>
@elseif($user->subscription->status == /App/SubscriptionModel::NEVER_SUBSCRIBED)
<div>You need to create a subscription before being granted full access!</div>
@elseif(...)
// and so on
如何做同样的事情,但使用配置文件夹并添加一个名为 的文件。在视图中访问它就像这样:status.php
@if($user->subscription->status == Config::get('status.subscription.SUBSCRIBED_ACTIVE'))
<div>You are subscribed. Thank you</div>
@elseif(...)
// etc
有没有更好的方法?
另外,等式的另一部分怎么样,这意味着存储在.我是否应该只为订阅表设置一列,并存储应用程序指示的内容,甚至 bettter 是否应创建一个单独的表并在表中包含?DBstatussubscription_statusesforeign_keysubscription_status_idsubscriptions