Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

why change the usages to usage? #225

Closed
mouyong opened this issue Jun 16, 2023 · 6 comments
Closed

why change the usages to usage? #225

mouyong opened this issue Jun 16, 2023 · 6 comments

Comments

@mouyong
Copy link

mouyong commented Jun 16, 2023

image

@mouyong
Copy link
Author

mouyong commented Jun 16, 2023

b8ea17c

@greg0ire
Copy link
Member

Several reasons:

I don't understand chinese, and I cannot copy/paste your image in a translator. Can someone translate?

@mouyong
Copy link
Author

mouyong commented Jun 16, 2023

this is my question and chatgpt answer:

me: (new \App\Models\FileUsage)->getTable() 为什么获取的是 file_usage, 没有使用 $table 属性,也没有重写 getTable 函数
根据你提供的代码 (new \App\Models\FileUsage)->getTable(),获取的是表名(table name),而不是 $table 属性或 getTable 函数。

gpt: 在 Laravel 中,模型的表名默认会根据模型类名进行推断。根据 Laravel 的命名约定,模型类名的复数形式将被用作默认的表名。例如,FileUsage 模型类的默认表名将会是 file_usages。

所以,当你执行 (new \App\Models\FileUsage)->getTable() 时,它会返回模型类 FileUsage 对应的表名 file_usages。这是 Laravel 的默认行为,不需要显式地定义 $table 属性或重写 getTable 函数。

如果你希望使用其他的表名,你可以在模型类中定义 $table 属性,将其设置为你想要的表名。例如:

getTable() 时,它将返回 your_custom_table_name,而不再是默认的推断值。 总之,通过执行 (new \App\Models\FileUsage)->getTable(),你可以获取到 Laravel 根据默认命名约定所推断的模型表名。

me: usage 的复数是什么

gpt: "usage" 这个单词的复数形式是 "usages"。

根据一般的英语语法规则,大多数名词的复数形式是在词尾添加 "s"。对于以辅音字母 + "y" 结尾的名词,将 "y" 变为 "i",再添加 "es"。但是 "usage" 是一个特殊情况,它的复数形式是在词尾直接添加 "s",不需要转换 "y"。

因此,"usage" 的复数形式是 "usages"。在 Laravel 中,当使用默认的表名推断机制时,模型类名的复数形式将被用作表名。因此,FileUsage 模型类的默认表名是 file_usages,其中 "usage" 被转换为 "usages" 来形成复数形式。

me: 什么情况下,usage 的复数还是 usage

gpt: "usage" 这个词在大多数情况下,其复数形式是 "usages"。然而,有一些特殊情况下,词汇的复数形式与其单数形式相同,"usage" 就是其中之一。

以下是一些常见情况下,词汇的复数形式与单数形式相同的例子:

集合名词:有些名词表示集合或群体,其复数形式与单数形式相同。例如,"deer"(鹿)、"sheep"(羊)等。

非可数名词:某些名词是非可数名词,它们不具有可数性,因此没有复数形式。例如,"water"(水)、"information"(信息)等。

以 "s" 结尾的名词:一些名词以 "s" 结尾,即使是复数形式也与单数形式相同。例如,"series"(系列)、"species"(物种)等。

因此,在大部分情况下,"usage" 的复数形式是 "usages",但在特定上下文中,它的复数形式仍然是 "usage"。需要根据具体语境和规范来确定正确的复数形式使用。

@mouyong
Copy link
Author

mouyong commented Jun 16, 2023

When using the \App\Models\FileUsage model in Laravel, the expected table name should be file_usages, but the actual result is file_usage, which is incorrect. The plural form of "usage" is "usages". This issue existed in version 2.0.7.

I have now updated to version 2.0.8.

@greg0ire
Copy link
Member

Ok so… it's fixed, right?

@mouyong
Copy link
Author

mouyong commented Jun 17, 2023

may be right, because now are revert b8ea17c

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants