Laravel |模型/数据库约定未按预期工作

时间:2016-12-13 11:34:32

标签: database laravel model eloquent naming-conventions

正如标题中所提到的,我遇到了有关模型和数据库之间约定的问题。我创建了一个名为" Media"的新模型。在我的数据库中,我创建了一个名为" medias"。

的新表

根据文档,Laravel假设表名应该是模型名称的复数。在我的情况下,它实际上不起作用,我需要手动设置属性表,以获得所需的行为。

Laravel版本:5.3 Mamp | php 7.0.13

非常感谢你的帮助,谢谢。

2 个答案:

答案 0 :(得分:1)

Media是个例外。 Laravel很聪明,知道media没有复数。所以你应该创建media表。

您可以看到所有例外here

Words that should not be inflected.

private static $uninflected = array(
    ....
    '?*media',
    ....
);

答案 1 :(得分:1)

  

媒体的复数形式。

因此,您可以创建一个名称为media的表格,或者在您的媒体模型中创建一个表格,

protected $table = 'medias';