Laravel - 在哪里存储状态(标志)?模型、类或配置文件夹?
我需要在mt项目中广泛使用状态。我需要它们用于我的(,等),实体(,,)和我的订阅(,,,)。。users
active
suspended
active
pending_activation
inactive
active
on_grace_period
not_subscribed
never_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 是否应创建一个单独的表并在表中包含?DB
status
subscription_statuses
foreign_key
subscription_status_id
subscriptions