我曾尝试创建 DataFixtures,我认为我的代码是正确的,因为如果我尝试了另一个项目,它就起作用了。 所以我不明白为什么在我的实际项目中,对象管理器不起作用,而我的 IDE 是底层对象管理器。

我的错误:

Declaration must be compatible with FixtureInterface->load(manager: \\Doctrine\\Persistence\\ObjectManager)

我的代码:

<?php

namespace App\DataFixtures;

use App\Entity\User;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Common\Persistence\ObjectManager;
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;

class UserFixtures extends Fixture
{
    public function __construct(UserPasswordEncoderInterface $passwordEncoder)
    {
        $this->passwordEncoder =$passwordEncoder;
    }

    public function load(ObjectManager $manager)
    {
        foreach ($this->getUserData() as [$email,$password,$lastname,$firstname,$company,$language,$enabled,$pictures])
        {
            $user = new User();
            $user->setEmail($email);
            $user->setPassword($this->passwordEncoder->encodePassword($user,$password));
            $user->setLastname($lastname);
            $user->setFirstname($firstname);
            $user->setCompany($company);
            $user->setLanguage($language);
            $user->setEnabled($enabled);
            $user->setPictures($pictures);

        }
        $manager->flush();
    }

    private function getUserData() : array {
        return [
            ['test@gmail.com','test','paul','marc','WKCompany','BE',1,'https://media.istockphoto.com/photos/businessman-silhouette-as-avatar-or-default-profile-picture-picture-id476085198?k=6&m=476085198&s=612x612&w=0&h=5cDQxXHFzgyz8qYeBQu2gCZq1_TN0z40e_8ayzne0X0=']
        ];
    }
}

#1楼 票数:5 已采纳

看起来简单的类型错误。 我只更改了 ObjectManager 命名空间。

use App\Entity\User;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Persistence\ObjectManager;
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;

class UserFixtures extends Fixture
{
    public function __construct(UserPasswordEncoderInterface $passwordEncoder)
    {
        $this->passwordEncoder =$passwordEncoder;
    }

    public function load(ObjectManager $manager)
    {
        foreach ($this->getUserData() as [$email,$password,$lastname,$firstname,$company,$language,$enabled,$pictures])
        {
            $user = new User();
            $user->setEmail($email);
            $user->setPassword($this->passwordEncoder->encodePassword($user,$password));
            $user->setLastname($lastname);
            $user->setFirstname($firstname);
            $user->setCompany($company);
            $user->setLanguage($language);
            $user->setEnabled($enabled);
            $user->setPictures($pictures);

        }
        $manager->flush();
    }

    private function getUserData() : array {
        return [
            ['test@gmail.com','test','paul','marc','WKCompany','BE',1,'https://media.istockphoto.com/photos/businessman-silhouette-as-avatar-or-default-profile-picture-picture-id476085198?k=6&m=476085198&s=612x612&w=0&h=5cDQxXHFzgyz8qYeBQu2gCZq1_TN0z40e_8ayzne0X0=']
        ];
    }
}

  ask by MVP2450 translate from so

未解决问题?本站智能推荐:

2回复

Symfony4 UserInterface丢失-> getId()如何访问用户ID

为什么在Symfony 4的UserInterface中没有getId()方法? 我试图将UserInterface $user传递给我的Controller方法,以使用$user->getId()实际访问当前登录的用户ID。 但是此方法确实存在于此接口中-谈论最佳实践,我不应该简单地
1回复

Symfony $form->getData() 返回带有连接值的空对象

这是我的控制器 这是我的 OffreType 当我尝试像这样验证我的表单时: 结果是一个空对象,我在表单中插入的值连接到我的对象(具有相同的键/值) 如果我打印 $_POST 变量,表单似乎工作正常 为什么 getData() 方法不起作用? 编辑: 这是我的Offre课
1回复

如何在查询生成器和mySQL> = 5.7中使用GROUP_BY?

使用Mysql 5.7版本将数据库迁移到CloudDB后,Symfony 4中的查询生成器出现问题。 以下代码在mysql 5.6上运行良好 使用5.7我遇到了这个错误 呈现模板时抛出了一个异常(“执行'SELECT r0_.id AS id_0,r0_.comment
1回复

PhpStorm Symfony 4 ContactType类无法识别

我今天有一个很烦人的问题。 我在Macbook Pro上,PhpStorm 2017.3.6。 我试图创建一个简单的Symfony 4联系人表单,但PhpStorm出了点问题,根本无法识别“联系人类型”类。 我已经尝试过: 清除并使PhpStorm缓存无效 清除Sym
1回复

我无法请求数组数据

这是buidForm 而这个控制器 这是TWIG 这是来自检查元素 问题是提交后,我无法接收数组数据($ categories = null ) PS:recherche_candidat_categorie =选择表格的ID
1回复

无法使用AJAX + Symfony 4传递参数

我正在使用AJAX在输入#descricao中使用autocomplete()从数据库请求客户端名称。 它请求我在Symfony 4(/ acao)中创建的路由。 问题是我正在尝试设置参数(/ acao?parametro = clientname ),但出现错误: 无法解析“ A
2回复

无法创建 Symfony 4 项目

我已经在使用 symfony 3,我已经用它创建了很多项目,所以现在我正在尝试使用 symfony 4 创建一个项目,但是当我输入这个命令时我不能: 项目创建成功,但是用这个版本 3.4 而不是 4.2 创建的问题, 所以你可以看到 Composer 从缓存中加载所有包。 我尝试像这样清除作
1回复

Symfony 4。{_ format}无法正常工作

所以我有这条路 因此,当我访问/ user / 1 / diary时,它可以与我在函数中编写的内容一起使用,但是当我尝试访问/user/1/diary.json或/user/1/diary.csv时,出现404错误,因此我猜测路线参数匹配不正确。 我想根据格式是什么,返回不同的响应