【问题标题】:How should I name the tables and models for 'user category' and 'article category'?我应该如何命名“用户类别”和“文章类别”的表和模型?
【发布时间】:2016-08-31 06:44:17
【问题描述】:

我应该如何命名用户类别和文章类别的表和模型?我有两张表,一个是用户,另一个是文章。我想对这些进行分类,以便例如只调用新闻文章或仅使用公司类别中的用户。所以我需要这些模型/表之间的关系。

我曾考虑为文章和用户使用一个表和一个模型,但这两者没有太多共同点,而且当我绑定它们之间的关系时,这可能会成为问题。

Laravel 使用单数样式命名数据透视表,我不想打破它。所以我也不能对这些使用单数名称。我目前的选择是:

Article --> main model 
articles --> main table
ArticleCategory --> relational model
articles_categories --> relational table
--------------------------------------
User --> main model
users --> main table
UserCategory --> relational model
users_categories --> relational table

那你怎么看?我应该使用这种方式还是有更好的方法?

【问题讨论】:

  • 您的命名看起来不错。您可以继续使用这种方法。我猜articles_tables应该在articles_categories中重命名
  • 我修复并编辑了它,谢谢

标签: php mysql laravel naming-conventions


【解决方案1】:

使用 Eloquent 模型,您可以为您的特定模型设置表名。用户模型的简单示例如下:-

class User extends Eloquent {

    protected $table = 'articles';

}

检查这个Eloquent你可以很容易理解。谢谢

【讨论】:

  • 是的,我知道它们可以自定义,但我不想打破 laravel 的常规。
  • okk....您可以在 laravel 中为数据透视表使用单数样式命名,而 Laravel 约定有些不同,但您可以在模型类中覆盖它们。在每个模型类和每个关系方法中,您可以指定表名和在考虑关系时要使用的字段。
【解决方案2】:

最好的办法是:php artisan make:model User -m 通过这种方式,laravel 自动创建模型和迁移名称和文件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-22
    • 2019-10-07
    • 2014-10-03
    • 2014-07-20
    • 2012-12-09
    • 2013-12-07
    • 2016-04-11
    • 2020-08-04
    相关资源
    最近更新 更多