📜  laravel creat new model - PHP (1)

📅  最后修改于: 2023-12-03 15:02:34.722000             🧑  作者: Mango

Laravel创建新模型 - PHP

Laravel是现今最受欢迎的PHP Web开发框架之一。它是一个优雅的、简洁的、功能强大的框架,具有许多特性,其中一个功能是内置了Eloquent ORM。这个ORM使得在Laravel中操作数据库变得非常简单。

创建新模型

要在Laravel中创建新的Eloquent模型,我们可以使用Artisan命令make:model。以下是使用该命令创建新模型的方式:

php artisan make:model MyModel

命令将创建一个名为MyModel的新模型类,并将其放在app目录中的Models子目录中。

可以在模型的$fillable属性中指定可以批量赋值的字段,或者在$guarded属性中指定不能批量赋值的字段。

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class MyModel extends Model
{
    use HasFactory;

    protected $fillable = [
        'name',
        'email',
    ];

    // or

    protected $guarded = [
        'password',
        'credit_card_number',
    ];
}
模型工厂

在Laravel中,使用Eloquent工厂可以创建假数据,以便在测试时使用。我们可以使用Artisan命令make:factory创建新的模型工厂。

php artisan make:factory MyModelFactory --model=MyModel

命令将创建一个名为MyModelFactory的新工厂类,并将其放在database/factories目录中。我们需要通过$factory变量来指定模型,并定义生成该模型实例的方式。

namespace Database\Factories;

use App\Models\MyModel;
use Illuminate\Database\Eloquent\Factories\Factory;

class MyModelFactory extends Factory
{
    protected $model = MyModel::class;

    public function definition()
    {
        return [
            'name' => $this->faker->name,
            'email' => $this->faker->unique()->safeEmail,
            'password' => bcrypt('password'),
        ];
    }
}
使用模型

使用新创建的模型,我们可以从数据库中检索数据,创建新的记录,更新现有记录,以及在记录中执行其他操作。以下是几个示例:

use App\Models\MyModel;

// 检索所有记录
$records = MyModel::all();

// 检索符合条件的记录
$record = MyModel::where('name', 'John')->first();

// 创建新记录
$record = MyModel::create([
    'name' => 'John',
    'email' => 'john@example.com',
    'password' => bcrypt('password'),
]);

// 更新记录
$record->name = 'Adam';
$record->save();

// 删除记录
$record->delete();
结论

Laravel提供了Eloquent ORM作为操作数据库的工具。要创建新模型,请使用Artisan命令make:model。要创建一个模型工厂,请使用Artisan命令make:factory。可以使用模型执行各种操作,例如检索、创建、更新和删除记录。