Php Laravel迁移表命名

Php Laravel迁移表命名,php,laravel-5,database-migration,Php,Laravel 5,Database Migration,我刚刚使用Artisan CLI对名为story的模型进行了迁移: php artisan make:model Story 它创建了一个迁移文件,创建了一个名为stories的表,而不是storys。尽管它在语法上是正确的,但它让我想知道它还能做哪些非常规的更正。换句话说,CLI在创建迁移文件时遵循哪些规则?此外,这些“正确”的名称是否适用于列名?多态标记表的迁移表是taggable\u id还是tagable\u id?请记住,Eloquent在默认情况下不需要标记id。这正是您的问题,您

我刚刚使用Artisan CLI对名为
story
的模型进行了迁移:

php artisan make:model Story

它创建了一个迁移文件,创建了一个名为
stories
的表,而不是
storys
。尽管它在语法上是正确的,但它让我想知道它还能做哪些非常规的更正。换句话说,CLI在创建迁移文件时遵循哪些规则?此外,这些“正确”的名称是否适用于列名?多态
标记
表的迁移表是
taggable\u id
还是
tagable\u id
?请记住,Eloquent在默认情况下不需要标记id。

这正是您的问题,您可以在这个链接中找到原因

Laravel遵循简单的命名约定。表名应为模型名的复数形式。但是,如果要指定表名,可以在模型中添加此属性

protected $table = 'myclients'
根据雄辩,它有自己的惯例。例如,旅行模型从我们的旅行数据库表中检索和存储信息

但重要的一点是,Laravel迁移不会强迫我们选择它想要的表名

“snake case”,该类的复数名称将用作表 名称,除非明确指定了另一个名称。 因此,您可以轻松地将引用表的名称更改为您想要的任何名称


谢谢你,马苏德。不过,我想知道有关表格命名的规则。谢谢你的回答。我的问题是artisan为什么知道将“故事”更改为“故事”,以及它知道要遵循的其他规则是什么?@CrackingTheCode正如我上面所说,artisan会自动为表格编写模型名称的复数形式,除非您将其更改为您想要的任何形式@破解代码它有一本专门的单词词典,请参阅并在引擎盖下使用教条屈折符来获取复数形式
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

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