Eloquent,更改默认表名

时间:2014-07-18 00:35:57

标签: php database laravel eloquent

在Eloquent中,默认情况下,与模型关联的表名称将是模型类名的复数形式。这会导致一些明显的问题,例如“鼠标”,“盒子”,“鹿”等名称。我无法找到Eloquent是否可以处理复数复数的任何方式。

解决此问题的一种简单方法是覆盖默认表名。我知道对于每个模型,您可以使用protected $table = "mice";更改关联表的名称,但我想知道是否可以通过DEFAULT完成,以完全匹配类名,因此您不必将该行添加到每个模型中。

除了,如果有人碰巧知道Eloquent是否可以处理复数复数,我一直在想。

1 个答案:

答案 0 :(得分:1)

您可以扩展Eloquent以创建自己的基本模型,并使用您自己的逻辑覆盖getTable()方法。

利用Laravel的Illuminate\Support\Pluralizer课程,你应该能够得到你喜欢的东西。 :)