要从现有的数据库数据中生成Symfony fixture YML,您可以按照以下步骤操作:
composer require --dev doctrine/doctrine-fixtures-bundle
UserFixtures
的新类,该类将从现有数据库数据中生成YML文件。// src/DataFixtures/UserFixtures.php
namespace App\DataFixtures;
use App\Entity\User;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Persistence\ObjectManager;
class UserFixtures extends Fixture
{
public function load(ObjectManager $manager)
{
// 从现有的数据库数据中获取用户数据
$users = $manager->getRepository(User::class)->findAll();
// 遍历用户数据并生成YML文件
foreach ($users as $user) {
$this->addReference('user-' . $user->getId(), $user);
}
}
}
UserFixtures.yml
的新文件。# src/DataFixtures/UserFixtures.yml
App\DataFixtures\UserFixtures:
user-1:
id: 1
username: john_doe
email: john.doe@example.com
password: $2y$13$lYL/M/L6JvEkxTjW8Jzj.eZXoZv0QWQX/yXUjz0jVpJfKvW
roles: [ROLE_USER]
user-2:
id: 2
username: jane_doe
email: jane.doe@example.com
password: $2y$13$lYL/M/L6JvEkxTjW8Jzj.eZXoZv0QWQX/yXUjz0jVpJfKvW
roles: [ROLE_USER]
php bin/console doctrine:fixtures:load
现在,您已经成功地从现有的数据库数据中生成了Symfony fixture YML文件。您可以使用这些YML文件来创建新的数据库数据,或者将其用于测试和开发目的。
领取专属 10元无门槛券
手把手带您无忧上云