📅  最后修改于: 2023-12-03 15:02:34.722000             🧑  作者: Mango
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
。可以使用模型执行各种操作,例如检索、创建、更新和删除记录。