Laravel 听起来很神奇
Laravel sounds like magic
我最近才开始尝试 laravel,太棒了。我不明白的一件事是 laravel 是如何知道我的 table 我刚刚添加了一个模型并且该模型不是确切的 table 名称,但它是如何设法获得我的 table,
Note that we did not tell Eloquent which table to use for our Flight
model. By convention, the "snake case", plural name of the class will
be used as the table name unless another name is explicitly specified.
在内部,Laravel 做这样的事情。
$table = $table ?: Str::plural($name);
因此,如果未设置 $table
属性,它会自动尝试查找您的型号名称的复数形式。
Laravel 遵循 命名约定 Eloquent Classes 和 Tables.
来自Laravel Website | Eloquent: Getting Started
Note that we did not tell Eloquent which table to use for our Flight
model. By convention, the "snake case", plural name of the class will
be used as the table name unless another name is explicitly specified.
So, in this case, Eloquent will assume the Flight model stores records
in the flights table.
例如
Class User
将默认指代 Mysql Table users
(骆驼案例到蛇案例和复数)。
Class NotificationsLog
将默认指代 Mysql Table notifications_logs
(骆驼案例到蛇案例和复数)。
但如果您不想遵循惯例,则可以明确提及 table 名称
例如。
如果我希望我的 Class Plane
应该在数据库中引用 flights
table 那么下面的代码将起作用
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Plane extends Model
{
/**
* The table associated with the model.
*
* @var string
*/
protected $table = 'flights';
}
实际上,当您制作模型时,它会自动制作一个 table 复数形式,您可以通过在模型
中添加以下代码来更改它
protected $table= 'table_name';
请同时检查迁移中的名称,它应该与您在模型 class 中提到的名称相同,因为它可能会在使用 eloquent class 函数时显示错误,原因是不同的 table 个名字
我最近才开始尝试 laravel,太棒了。我不明白的一件事是 laravel 是如何知道我的 table 我刚刚添加了一个模型并且该模型不是确切的 table 名称,但它是如何设法获得我的 table,
Note that we did not tell Eloquent which table to use for our Flight model. By convention, the "snake case", plural name of the class will be used as the table name unless another name is explicitly specified.
在内部,Laravel 做这样的事情。
$table = $table ?: Str::plural($name);
因此,如果未设置 $table
属性,它会自动尝试查找您的型号名称的复数形式。
Laravel 遵循 命名约定 Eloquent Classes 和 Tables.
来自Laravel Website | Eloquent: Getting Started
Note that we did not tell Eloquent which table to use for our Flight model. By convention, the "snake case", plural name of the class will be used as the table name unless another name is explicitly specified. So, in this case, Eloquent will assume the Flight model stores records in the flights table.
例如
Class User
将默认指代 Mysql Table users
(骆驼案例到蛇案例和复数)。
Class NotificationsLog
将默认指代 Mysql Table notifications_logs
(骆驼案例到蛇案例和复数)。
但如果您不想遵循惯例,则可以明确提及 table 名称
例如。
如果我希望我的 Class Plane
应该在数据库中引用 flights
table 那么下面的代码将起作用
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Plane extends Model
{
/**
* The table associated with the model.
*
* @var string
*/
protected $table = 'flights';
}
实际上,当您制作模型时,它会自动制作一个 table 复数形式,您可以通过在模型
中添加以下代码来更改它protected $table= 'table_name';
请同时检查迁移中的名称,它应该与您在模型 class 中提到的名称相同,因为它可能会在使用 eloquent class 函数时显示错误,原因是不同的 table 个名字