【问题标题】:Laravel 5.5 eloquent creation tableLaravel 5.5 雄辩的创建表
【发布时间】:2017-12-13 21:59:32
【问题描述】:

你们中的任何人都知道如何通过 Eloquent 在 laravel 中创建表格而不在这些名称中添加最后的 s 吗?

例如使用以下命令创建后:

php artisan make:model Article -crmf

php artisan migrate

数据库中的表将被命名为文章。如果我尝试将相应文件中的名称更改为文章,我会在执行查询期间收到错误,例如:

SQLSTATE[42S02]:未找到基表或视图:

如何在不添加 final S 的情况下创建表格?

谢谢

【问题讨论】:

  • 在你的模型中受保护 $table = 'article'
  • 真正的问题...你不想要“文章”表吗?就像在存储文章(复数)信息的表格中一样?我对所有这些命名和大小写约定都很陌生,所以只是想了解为什么你可能不希望它作为复数形式。

标签: laravel eloquent


【解决方案1】:

根据文档:

表名

按照约定,“snake case”,类的复数名称将用作表名,除非明确指定另一个名称。

因此,在这种情况下,Eloquent 将假定 Article 模型将记录存储在 items 表中。您可以通过在模型上定义表格属性来指定自定义表格:

class Article extends Model
{
    /**
     * The table associated with the model.
     *
     * @var string
     */
     protected $table = 'article';
}

【讨论】:

    猜你喜欢
    • 2018-05-17
    • 2014-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-07
    • 1970-01-01
    • 1970-01-01
    • 2014-11-08
    相关资源
    最近更新 更多