我是新来的拉拉维尔。
当我学习Laravel的时候,我注意到我做的所有Model都是用复数命名的,但是它工作正常。
我想知道怎么会发生这种情况,因为我在注意到这一点之后才阅读文档,它说:“模型应该用单数来命名。”
有人能解释一下它的工作原理吗?
在那些模型中没有提到$table。
我很抱歉我想说“单数”而不是“音节”。
发布于 2019-03-12 04:16:15
laravel的一般惯例是使用单数名称表示模型,用复数名称表示表。请注意,您可以通过在模型中使用protected $table = 'yourTableName';来更改关联的表名。我个人认为手动设置它是一个很好的实践。
我无法解释它如何得到相关的表格名称,因为它将是一篇文章(我也不确定我是否能够正确解释),但我可以把你送到正确的方向。
因为laravel是开源的,你实际上可以在引擎盖下达到顶峰,看看它是如何工作的。您可以转到framework/src/Illuminate/Database/Eloquent/Model.php或在线来查看关联函数。您将看到getTable函数,它将返回表名。但它使用了另一种功能。所以你需要看看这个功能是什么。
经过几次挖掘,您将看到laravel实际上使用了一个不同的库来帮助获取项目名称。它使用感光器。你可以浏览一下它,了解它是如何得到复数名称的。在那里,您可以找到底层代码和规则等,以了解它是如何工作的。
https://stackoverflow.com/questions/55113676
复制相似问题