📅  最后修改于: 2023-12-03 15:02:36.749000             🧑  作者: Mango
在 Laravel 中,模型是与数据库表相关联的 PHP 类。定义模型可使您与数据库表进行交互,包括检索和操作数据。在本文中,我们将探讨在 Laravel 模型上创建的过程。
要创建模型,可以运行以下 Artisan 命令:
php artisan make:model ModelName
这个命令将在 app 目录下创建一个 ModelName.php 文件,其中包含了一个名为 ModelName
的模型类。您可以将模型类文件名与表名保持一致或者任意指定一个。
在模型类中,您可以定义一个属性 $table
,该属性用于指定与模型相关联的表名。例如:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class ModelName extends Model
{
protected $table = 'table_name';
}
在这个示例中,ModelName
模型与 table_name
数据库表相关联。如果未指定 $table
属性,则 Laravel 将假定对应的表名与模型类名相同且为复数形式,即它将默认查找 model_names
表。
您可以在模型中使用 $primaryKey
属性来指定相关联的表中的主键列名。如果您未定义主键,则 Laravel 将默认使用 id
作为主键。例如:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class ModelName extends Model
{
protected $table = 'table_name';
protected $primaryKey = 'custom_primary_key';
}
在这个示例中,ModelName
模型使用名为 custom_primary_key
的列作为主键列。
当您创建一个数据表时,默认情况下,Laravel 将自动添加 created_at
和 updated_at
两个时间戳列。该功能可使您轻松地跟踪数据的创建和修改时间。如果您需要禁用此自动时间戳功能,则可以将模型属性 $timestamps
设置为 false。例如:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class ModelName extends Model
{
protected $table = 'table_name';
protected $timestamps = false;
}
在此示例中,ModelName
模型禁用了自动添加时间戳功能。
在 Laravel 模型上创建可以非常容易地进行,您可以指定表名、主键、时间戳等参数。Laravel 的 Eloquent ORM 已经在这个领域表现出色,可以在各种 PHP 项目中使用。