简体   繁体   English

可捕获的致命错误:传递给...的参数1必须是...,给定数组的实例

[英]Catchable Fatal Error: Argument 1 passed to … must be an instance of …, array given

I want to register a user. 我想注册一个用户。 In my database I have a table user with a FK player_id and in my players table I have a FK team_id from my team table. 在我的数据库中,我有一个带有FK player_id的表user ,在我的玩家表中,我的团队表中有一个FK team_id

This is my RegisterType Form: 这是我的RegisterType表单:

class RegisterType extends AbstractType
{
    /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('userFirstname', 'text', [
                'label' => 'Given name*',
                'attr'  => [
                    'placeholder' => 'Enter your given name.',
                ],
            ])
            ->add('userSurname', 'text', [
                'label' => 'Family name*',
                'attr'  => ['placeholder' => 'Enter your family name.'],
            ])
            ->add('userType', 'choice', array(
                'choices' => array('E' => 'ENTHOUSIAST', 'P' => 'PLAYER', 'T' => 'TRAINER'),
                'label'   => 'User Type*',
                'attr' => array('placeholder' => 'User Type')
            ))
            ->add('player', new PlayerType())
            ->add('userUsername', 'text', [
                'label' => 'Username*',
                'attr'  => ['placeholder' => 'Enter a username.'],
            ])
            ->add('userEmail', 'email', [
                'label' => 'Email address*',
                'attr'  => ['placeholder' => 'Enter your email address.'],
            ])
            ->add('userPassword', 'repeated', [
                'type'           => 'password',
                'first_name'     => 'password',
                'first_options'  => [
                    'label' => 'Password*',
                    'attr'  => ['placeholder' => 'Enter a password.'],
                ],
                'second_name'    => 'confirm',
                'second_options' => [
                    'label' => 'Password (repeat)*',
                    'attr'  => ['placeholder' => 'Repeat the password.'],
                ],
                'invalid_message' => 'The passwords are not identical.',
            ])
            ->add('btn_register', 'submit', [
                'label' => 'Register',
            ])
        ;
    }

    /**
     * @return string
     */
    public function getName()
    {
        return 'register';
    }
}

As you can see I've added a link to another form 'PlayerType'. 正如您所看到的,我添加了另一个表单'PlayerType'的链接。 This is my PlayerType Form: 这是我的PlayerType表单:

class PlayerType extends AbstractType
{
    /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('playerLicensenumber', 'text', [
                'label' => 'Your License number*',
                'attr'  => ['placeholder' => 'Enter your license number.'],
            ])
            ->add('playerPosition', 'choice', array(
                'choices' => array('T' => 'Trainer', 'S' => 'Spelverdeler', 'R' => 'Receptie/Hoek', 'L' => 'Libero', 'M' => 'Midden', 'O' => 'Opposite', 'A' => 'All-round'),
                'label'         => 'Position you play at*',
                'attr' => array('placeholder' => 'Enter your play position.')
            ))
            ->add('playerBirthyear', 'text', array(
                'label' => 'Your Birth Year',
                'attr'  => ['placeholder' => 'Enter your birth year.'],
                'required' => false
            ))
            ->add('team', 'text', array(
                'label' => 'You play with*',
                'attr'  => ['placeholder' => 'Enter your team.']
            ))
        ;
    }

    /**
     * @return string
     */
    public function getName()
    {
        return 'player';
    }
}

And in my register.html.twig view I have all my user fields an my player fields like this: 在我的register.html.twig视图中,我的所有用户字段都是我的播放器字段,如下所示:

<div class="form-group{{ registerForm.player.playerLicensenumber.vars.valid ? '' : class_error }}">
    {{ form_label(registerForm.player.playerLicensenumber, label|default(),
    { "label_attr": { "class": "col-sm-3 control-label"}}) }}
    <div class="col-sm-9">
        {{ form_widget(registerForm.player.playerLicensenumber,
        {"attr": {"class": "form-control"} }) }}
    </div>
    {% if not registerForm.player.playerLicensenumber.vars.valid %}
        <div class="col-sm-offset-3 col-sm-9 has-error">
            <h5><i class="glyphicon glyphicon-warning-sign"></i> <strong>Please fix:</strong></h5>
            {{ form_errors(registerForm.player.playerLicensenumber) }}
        </div>
    {% endif %}
</div>
<div class="form-group{{ registerForm.player.playerBirthyear.vars.valid ? '' : class_error }}">
    {{ form_label(registerForm.player.playerBirthyear, label|default(),
    { "label_attr": { "class": "col-sm-3 control-label"}}) }}
    <div class="col-sm-9">
        {{ form_widget(registerForm.player.playerBirthyear,
        {"attr": {"class": "form-control"} }) }}
    </div>
    {% if not registerForm.player.playerBirthyear.vars.valid %}
        <div class="col-sm-offset-3 col-sm-9 has-error">
            <h5><i class="glyphicon glyphicon-warning-sign"></i> <strong>Please fix:</strong></h5>
            {{ form_errors(registerForm.player.playerBirthyear) }}
        </div>
    {% endif %}
</div>
<div class="form-group{{ registerForm.player.playerPosition.vars.valid ? '' : class_error }}">
    {{ form_label(registerForm.player.playerPosition, label|default(),
    { "label_attr": { "class": "col-sm-3 control-label"}}) }}
    <div class="col-sm-9">
        {{ form_widget(registerForm.player.playerPosition,
        {"attr": {"class": "form-control"} }) }}
    </div>
    {% if not registerForm.player.playerPosition.vars.valid %}
        <div class="col-sm-offset-3 col-sm-9 has-error">
            <h5><i class="glyphicon glyphicon-warning-sign"></i> <strong>Please fix:</strong></h5>
            {{ form_errors(registerForm.player.playerPosition) }}
        </div>
    {% endif %}
</div>
<div class="form-group{{ registerForm.player.team.vars.valid ? '' : class_error }}">
    {{ form_label(registerForm.player.team, label|default(),
    { "label_attr": { "class": "col-sm-3 control-label"}}) }}
    <div class="col-sm-9">
        {{ form_widget(registerForm.player.team,
        {"attr": {"class": "form-control"} }) }}
    </div>
    {% if not registerForm.player.team.vars.valid %}
        <div class="col-sm-offset-3 col-sm-9 has-error">
            <h5><i class="glyphicon glyphicon-warning-sign"></i> <strong>Please fix:</strong></h5>
            {{ form_errors(registerForm.player.team) }}
        </div>
    {% endif %}
</div>

This is my Users Entity Class: 这是我的用户实体类:

class Users
{
    /**
     * @var string
     *
     * @ORM\Column(name="user_username", type="string", length=45, nullable=false)
     */
    private $userUsername;

    /**
     * @var string
     *
     * @ORM\Column(name="user_firstname", type="string", length=45, nullable=false)
     */
    private $userFirstname;

    /**
     * @var string
     *
     * @ORM\Column(name="user_surname", type="string", length=255, nullable=false)
     */
    private $userSurname;

    /**
     * @var string
     *
     * @ORM\Column(name="user_email", type="string", length=255, nullable=false)
     */
    private $userEmail;

    /**
     * @var string
     *
     * @ORM\Column(name="user_type", type="string", nullable=false)
     */
    private $userType;

    /**
     * @var string
     *
     * @ORM\Column(name="user_password", type="string", length=60, nullable=false)
     */
    private $userPassword;

    /**
     * @var string
     *
     * @ORM\Column(name="user_salt", type="string", length=30, nullable=false)
     */
    private $userSalt;

    /**
     * @var string
     *
     * @ORM\Column(name="user_token", type="string", length=45, nullable=true)
     */
    private $userToken;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="user_created", type="datetime", nullable=false)
     */
    private $userCreated;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="user_modified", type="datetime", nullable=true)
     */
    private $userModified;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="user_deleted", type="datetime", nullable=true)
     */
    private $userDeleted;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="user_lastlogin", type="datetime", nullable=true)
     */
    private $userLastlogin;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="user_confirmed", type="datetime", nullable=true)
     */
    private $userConfirmed;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="user_locked", type="datetime", nullable=true)
     */
    private $userLocked;

    /**
     * @var integer
     *
     * @ORM\Column(name="user_id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $userId;

    /**
     * @var \VolleyScout\VolleyScoutBundle\Entity\Roles
     *
     * @ORM\ManyToOne(targetEntity="VolleyScout\VolleyScoutBundle\Entity\Roles")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="role_id", referencedColumnName="role_id")
     * })
     */
    private $role;

    /**
     * @var \Doctrine\Common\Collections\Collection
     *
     * @ORM\ManyToMany(targetEntity="VolleyScout\VolleyScoutBundle\Entity\Teams", inversedBy="user")
     * @ORM\JoinTable(name="user_follows_teams",
     *   joinColumns={
     *     @ORM\JoinColumn(name="user_id", referencedColumnName="user_id")
     *   },
     *   inverseJoinColumns={
     *     @ORM\JoinColumn(name="team_id", referencedColumnName="team_id")
     *   }
     * )
     */
    private $team;

    /**
     * @var \Doctrine\Common\Collections\Collection
     *
     * @ORM\ManyToMany(targetEntity="VolleyScout\VolleyScoutBundle\Entity\Competitions", inversedBy="user")
     * @ORM\JoinTable(name="user_follows_competitions",
     *   joinColumns={
     *     @ORM\JoinColumn(name="user_id", referencedColumnName="user_id")
     *   },
     *   inverseJoinColumns={
     *     @ORM\JoinColumn(name="competition_id", referencedColumnName="competition_id")
     *   }
     * )
     */
    private $competition;

    /**
     * Constructor
     */
    public function __construct()
    {
        $this->team = new \Doctrine\Common\Collections\ArrayCollection();
        $this->competition = new \Doctrine\Common\Collections\ArrayCollection();
    }


    /**
     * Set userUsername
     *
     * @param string $userUsername
     * @return Users
     */
    public function setUserUsername($userUsername)
    {
        $this->userUsername = $userUsername;

        return $this;
    }

    /**
     * Get userUsername
     *
     * @return string 
     */
    public function getUserUsername()
    {
        return $this->userUsername;
    }

    /**
     * Set userFirstname
     *
     * @param string $userFirstname
     * @return Users
     */
    public function setUserFirstname($userFirstname)
    {
        $this->userFirstname = $userFirstname;

        return $this;
    }

    /**
     * Get userFirstname
     *
     * @return string 
     */
    public function getUserFirstname()
    {
        return $this->userFirstname;
    }

    /**
     * Set userSurname
     *
     * @param string $userSurname
     * @return Users
     */
    public function setUserSurname($userSurname)
    {
        $this->userSurname = $userSurname;

        return $this;
    }

    /**
     * Get userSurname
     *
     * @return string 
     */
    public function getUserSurname()
    {
        return $this->userSurname;
    }

    /**
     * Set userEmail
     *
     * @param string $userEmail
     * @return Users
     */
    public function setUserEmail($userEmail)
    {
        $this->userEmail = $userEmail;

        return $this;
    }

    /**
     * Get userEmail
     *
     * @return string 
     */
    public function getUserEmail()
    {
        return $this->userEmail;
    }

    /**
     * Set userType
     *
     * @param string $userType
     * @return Users
     */
    public function setUserType($userType)
    {
        $this->userType = $userType;

        return $this;
    }

    /**
     * Get userType
     *
     * @return string 
     */
    public function getUserType()
    {
        return $this->userType;
    }

    /**
     * Set userPassword
     *
     * @param string $userPassword
     * @return Users
     */
    public function setUserPassword($userPassword)
    {
        $this->userPassword = $userPassword;

        return $this;
    }

    /**
     * Get userPassword
     *
     * @return string 
     */
    public function getUserPassword()
    {
        return $this->userPassword;
    }

    /**
     * Set userSalt
     *
     * @param string $userSalt
     * @return Users
     */
    public function setUserSalt($userSalt)
    {
        $this->userSalt = $userSalt;

        return $this;
    }

    /**
     * Get userSalt
     *
     * @return string 
     */
    public function getUserSalt()
    {
        return $this->userSalt;
    }

    /**
     * Set userToken
     *
     * @param string $userToken
     * @return Users
     */
    public function setUserToken($userToken)
    {
        $this->userToken = $userToken;

        return $this;
    }

    /**
     * Get userToken
     *
     * @return string 
     */
    public function getUserToken()
    {
        return $this->userToken;
    }

    /**
     * Set userCreated
     *
     * @param \DateTime $userCreated
     * @return Users
     */
    public function setUserCreated($userCreated)
    {
        $this->userCreated = $userCreated;

        return $this;
    }

    /**
     * Get userCreated
     *
     * @return \DateTime 
     */
    public function getUserCreated()
    {
        return $this->userCreated;
    }

    /**
     * Set userModified
     *
     * @param \DateTime $userModified
     * @return Users
     */
    public function setUserModified($userModified)
    {
        $this->userModified = $userModified;

        return $this;
    }

    /**
     * Get userModified
     *
     * @return \DateTime 
     */
    public function getUserModified()
    {
        return $this->userModified;
    }

    /**
     * Set userDeleted
     *
     * @param \DateTime $userDeleted
     * @return Users
     */
    public function setUserDeleted($userDeleted)
    {
        $this->userDeleted = $userDeleted;

        return $this;
    }

    /**
     * Get userDeleted
     *
     * @return \DateTime 
     */
    public function getUserDeleted()
    {
        return $this->userDeleted;
    }

    /**
     * Set userLastlogin
     *
     * @param \DateTime $userLastlogin
     * @return Users
     */
    public function setUserLastlogin($userLastlogin)
    {
        $this->userLastlogin = $userLastlogin;

        return $this;
    }

    /**
     * Get userLastlogin
     *
     * @return \DateTime 
     */
    public function getUserLastlogin()
    {
        return $this->userLastlogin;
    }

    /**
     * Set userConfirmed
     *
     * @param \DateTime $userConfirmed
     * @return Users
     */
    public function setUserConfirmed($userConfirmed)
    {
        $this->userConfirmed = $userConfirmed;

        return $this;
    }

    /**
     * Get userConfirmed
     *
     * @return \DateTime 
     */
    public function getUserConfirmed()
    {
        return $this->userConfirmed;
    }

    /**
     * Set userLocked
     *
     * @param \DateTime $userLocked
     * @return Users
     */
    public function setUserLocked($userLocked)
    {
        $this->userLocked = $userLocked;

        return $this;
    }

    /**
     * Get userLocked
     *
     * @return \DateTime 
     */
    public function getUserLocked()
    {
        return $this->userLocked;
    }

    /**
     * Get userId
     *
     * @return integer 
     */
    public function getUserId()
    {
        return $this->userId;
    }

    /**
     * Set role
     *
     * @param \VolleyScout\VolleyScoutBundle\Entity\Roles $role
     * @return Users
     */
    public function setRole(\VolleyScout\VolleyScoutBundle\Entity\Roles $role = null)
    {
        $this->role = $role;

        return $this;
    }

    /**
     * Get role
     *
     * @return \VolleyScout\VolleyScoutBundle\Entity\Roles 
     */
    public function getRole()
    {
        return $this->role;
    }

    /**
     * Add team
     *
     * @param \VolleyScout\VolleyScoutBundle\Entity\Teams $team
     * @return Users
     */
    public function addTeam(\VolleyScout\VolleyScoutBundle\Entity\Teams $team)
    {
        $this->team[] = $team;

        return $this;
    }

    /**
     * Remove team
     *
     * @param \VolleyScout\VolleyScoutBundle\Entity\Teams $team
     */
    public function removeTeam(\VolleyScout\VolleyScoutBundle\Entity\Teams $team)
    {
        $this->team->removeElement($team);
    }

    /**
     * Get team
     *
     * @return \Doctrine\Common\Collections\Collection 
     */
    public function getTeam()
    {
        return $this->team;
    }

    /**
     * Add competition
     *
     * @param \VolleyScout\VolleyScoutBundle\Entity\Competitions $competition
     * @return Users
     */
    public function addCompetition(\VolleyScout\VolleyScoutBundle\Entity\Competitions $competition)
    {
        $this->competition[] = $competition;

        return $this;
    }

    /**
     * Remove competition
     *
     * @param \VolleyScout\VolleyScoutBundle\Entity\Competitions $competition
     */
    public function removeCompetition(\VolleyScout\VolleyScoutBundle\Entity\Competitions $competition)
    {
        $this->competition->removeElement($competition);
    }

    /**
     * Get competition
     *
     * @return \Doctrine\Common\Collections\Collection 
     */
    public function getCompetition()
    {
        return $this->competition;
    }

    private $player;

    /**
     * Get player
     *
     * @return \VolleyScout\VolleyScoutBundle\Entity\Players
     */
    public function getPlayer() {
        return $this->player;
    }
    /**
     * Set player
     *
     * @param \VolleyScout\VolleyScoutBundle\Entity\Players $player
     * @return Users
     */
    public function setPlayer(\VolleyScout\VolleyScoutBundle\Entity\Players $player){
        $this->player = $player;
    }
}

And my Players Entity Class: 和我的玩家实体班:

class Players
{
    /**
     * @var string
     *
     * @ORM\Column(name="player_name", type="string", length=255, nullable=false)
     */
    private $playerName;

    /**
     * @var string
     *
     * @ORM\Column(name="player_licensenumber", type="string", length=45, nullable=false)
     */
    private $playerLicensenumber;

    /**
     * @var string
     *
     * @ORM\Column(name="player_position", type="string", nullable=false)
     */
    private $playerPosition;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="player_birthyear", type="datetime", nullable=true)
     */
    private $playerBirthyear;

    /**
     * @var integer
     *
     * @ORM\Column(name="player_id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $playerId;

    /**
     * @var \VolleyScout\VolleyScoutBundle\Entity\Myteam
     *
     * @ORM\ManyToOne(targetEntity="VolleyScout\VolleyScoutBundle\Entity\Myteam")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="myteam_id", referencedColumnName="myteam_id")
     * })
     */
    private $myteam;

    /**
     * @var \VolleyScout\VolleyScoutBundle\Entity\Teams
     *
     * @ORM\ManyToOne(targetEntity="VolleyScout\VolleyScoutBundle\Entity\Teams")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="team_id", referencedColumnName="team_id")
     * })
     */
    private $team;

    /**
     * @var \VolleyScout\VolleyScoutBundle\Entity\Users
     *
     * @ORM\ManyToOne(targetEntity="VolleyScout\VolleyScoutBundle\Entity\Users")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="user_id", referencedColumnName="user_id")
     * })
     */
    private $user;



    /**
     * Set playerName
     *
     * @param string $playerName
     * @return Players
     */
    public function setPlayerName($playerName)
    {
        $this->playerName = $playerName;

        return $this;
    }

    /**
     * Get playerName
     *
     * @return string 
     */
    public function getPlayerName()
    {
        return $this->playerName;
    }

    /**
     * Set playerLicensenumber
     *
     * @param string $playerLicensenumber
     * @return Players
     */
    public function setPlayerLicensenumber($playerLicensenumber)
    {
        $this->playerLicensenumber = $playerLicensenumber;

        return $this;
    }

    /**
     * Get playerLicensenumber
     *
     * @return string 
     */
    public function getPlayerLicensenumber()
    {
        return $this->playerLicensenumber;
    }

    /**
     * Set playerPosition
     *
     * @param string $playerPosition
     * @return Players
     */
    public function setPlayerPosition($playerPosition)
    {
        $this->playerPosition = $playerPosition;

        return $this;
    }

    /**
     * Get playerPosition
     *
     * @return string 
     */
    public function getPlayerPosition()
    {
        return $this->playerPosition;
    }

    /**
     * Set playerBirthyear
     *
     * @param \DateTime $playerBirthyear
     * @return Players
     */
    public function setPlayerBirthyear($playerBirthyear)
    {
        $this->playerBirthyear = $playerBirthyear;

        return $this;
    }

    /**
     * Get playerBirthyear
     *
     * @return \DateTime 
     */
    public function getPlayerBirthyear()
    {
        return $this->playerBirthyear;
    }

    /**
     * Get playerId
     *
     * @return integer 
     */
    public function getPlayerId()
    {
        return $this->playerId;
    }

    /**
     * Set myteam
     *
     * @param \VolleyScout\VolleyScoutBundle\Entity\Myteam $myteam
     * @return Players
     */
    public function setMyteam(\VolleyScout\VolleyScoutBundle\Entity\Myteam $myteam = null)
    {
        $this->myteam = $myteam;

        return $this;
    }

    /**
     * Get myteam
     *
     * @return \VolleyScout\VolleyScoutBundle\Entity\Myteam 
     */
    public function getMyteam()
    {
        return $this->myteam;
    }

    /**
     * Set team
     *
     * @param \VolleyScout\VolleyScoutBundle\Entity\Teams $team
     * @return Players
     */
    public function setTeam(\VolleyScout\VolleyScoutBundle\Entity\Teams $team = null)
    {
        $this->team = $team;

        return $this;
    }

    /**
     * Get team
     *
     * @return \VolleyScout\VolleyScoutBundle\Entity\Teams 
     */
    public function getTeam()
    {
        return $this->team;
    }

    /**
     * Set user
     *
     * @param \VolleyScout\VolleyScoutBundle\Entity\Users $user
     * @return Players
     */
    public function setUser(\VolleyScout\VolleyScoutBundle\Entity\Users $user = null)
    {
        $this->user = $user;

        return $this;
    }

    /**
     * Get user
     *
     * @return \VolleyScout\VolleyScoutBundle\Entity\Users 
     */
    public function getUser()
    {
        return $this->user;
    }
}

My problem is now when I want to submit I get the following error: 我现在的问题是,当我想提交时,我收到以下错误:

ContextErrorException: Catchable Fatal Error: Argument 1 passed to VolleyScout\VolleyScoutBundle\Entity\Users::setPlayer() must be an instance of VolleyScout\VolleyScoutBundle\Entity\Players, array given, called in /Applications/mampstack-5.4.20-0/apache2/htdocs/volleyscout/vendor/symfony/symfony/src/Symfony/Component/PropertyAccess/PropertyAccessor.php on line 360 and defined in /Applications/mampstack-5.4.20-0/apache2/htdocs/volleyscout/src/VolleyScout/VolleyScoutBundle/Entity/Users.php line 609

UPDATE: 更新:

The 609 rule is this: 609规则是这样的:

public function setPlayer(\VolleyScout\VolleyScoutBundle\Entity\Players $player){
    $this->player = $player;
}

Rule 359, 360 in PropertyAccessor.php PropertyAccessor.php中的规则359,360

if ($reflClass->hasMethod($setter) && $reflClass->getMethod($setter)->isPublic()) {
        $object->$setter($value);

Let's take this error apart so you can see how to figure out error messages. 让我们将此错误分开,以便您可以看到如何找出错误消息。

ContextErrorException: Catchable Fatal Error: 

This is the type of the error. 这是错误的类型。 You can write an error handler to handle these. 您可以编写错误处理程序来处理这些问题。

Argument 1 passed to VolleyScout\VolleyScoutBundle\Entity\Users::setPlayer() 
must be an instance of VolleyScout\VolleyScoutBundle\Entity\Players, 

This means that when Users::setPlayer() is called, you have to call it using a Player object in the argument. 这意味着当调用Users :: setPlayer()时,您必须使用参数中的Player对象来调用它。

array given, 

This means that instead of a Player object, there was an array in the argument. 这意味着在参数中有一个数组而不是Player对象。

called in /Applications/mampstack-5.4.20-0/apache2/htdocs/volleyscout/vendor
/symfony/symfony/src/Symfony/Component/PropertyAccess/PropertyAccessor.php 
on line 360

This tells you where the problem is: line 360 of PropertyAccessor.php. 这告诉您问题出在哪里:PropertyAccessor.php的第360行。

and defined in /Applications/mampstack-5.4.20-0/apache2/htdocs/volleyscout
/src/VolleyScout/VolleyScoutBundle/Entity/Users.php line 609

This tells you what line of the class Users is involved. 这告诉您涉及用户类的哪一行。

So, all you have to do is change that array on line 360 to a Player object. 因此,您所要做的就是将第360行的数组更改为Player对象。 Then you can move on to the next error. 然后你可以继续下一个错误。

EDIT: 编辑:

Because line 360 is being called from somewhere else, you'll have to trace backwards to whatever was calling line 360. In this case, it's this line that's giving you an issue: 因为第360行是从其他地方调用的,所以你必须向后追溯到调用第360行的任何东西。在这种情况下,这条线路会给你一个问题:

$object->$setter($value);

The $value is supposed to be a Player object, not an array. $value应该是Player对象,而不是数组。 Where is $value coming from? $value来自哪里?

Had this problem and it drove me nuts. 有这个问题,它让我疯了。

Once I correctly added this method in the class PlayerType extends Abstract Type: 一旦我在类中正确添加此方法, PlayerType扩展为Abstract Type:

/**
* @param OptionsResolver $resolver
*/
public function configureOptions(OptionsResolver $resolver)
{
    $resolver->setDefaults(array(
        'data_class' => 'AppBundle\Entity\Player'
    ));
}

It would know that the array should be casted to the right class. 它会知道数组应该被转换为正确的类。 And it worked. 它奏效了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 可捕获的致命错误:传递给Symfony :: render()的参数3必须是Symfony \\ .. \\ Response的实例,给定数组 - Catchable Fatal Error: Argument 3 passed to Symfony::render() must be an instance of Symfony\..\Response, array given Symfony 2嵌入式表单:可捕获的致命错误:传递给Entity的参数1 :: addProperty必须是XX \\ MyClass的一个实例,给出的数组 - Symfony 2 Embedded Forms: Catchable Fatal Error: Argument 1 passed to Entity::addProperty must be an instance of XX\MyClass, array given 主义(Symfony3)可捕获的致命错误:传递给(bundle)的参数1必须是(bundle)的实例,给定数组 - Doctrine (Symfony3) Catchable Fatal Error: Argument 1 passed to (bundle) must be an instance of (bundle), array given PHP - 可捕获的致命错误:传递给Too的参数1必须是Foo的实例,Boo的实例给出了吗? - PHP - Catchable fatal error: Argument 1 passed to Too must be an instance of Foo, instance of Boo given? 可捕获的致命错误:传递给AppBundle \\ Form \\ TagType :: __ construct()的参数1必须是Doctrine \\ ORM \\ EntityRepository的实例,未给出任何实例, - Catchable Fatal Error: Argument 1 passed to AppBundle\Form\TagType::__construct() must be an instance of Doctrine\ORM\EntityRepository, none given, 可捕获的致命错误:传递给Controller :: __ construct()的参数1必须是Doctrine \\ ORM \\ EntityManager的实例,未给出任何实例,称为 - Catchable Fatal Error: Argument 1 passed to Controller::__construct() must be an instance of Doctrine\ORM\EntityManager, none given, called 可捕获的致命错误:传递给getPrice()的参数1必须是Rectangle的实例,没有给出 - Catchable fatal error: Argument 1 passed to getPrice() must be an instance of Rectangle, none given 可捕获的致命错误:传递给…的参数1必须是…的一个实例,为boolean给定,在…上在…中调用,并在…上在第在线 - Catchable fatal error: Argument 1 passed to … must be an instance of …, boolean given, called in … on line … and defined in … on line 可捕获的致命错误:传递给 ...CsrfTokenManager::isTokenValid() 的参数 1 必须是 ...\CsrfToken 的实例,给定字符串 - Catchable Fatal Error: Argument 1 passed to …CsrfTokenManager::isTokenValid() must be an instance of …\CsrfToken, string given 可捕获的致命错误:传递给 Album\Controller\AlbumController::__construct() 的参数 1 必须是 Album\Model\AlbumTable 的实例,没有给出 - Catchable fatal error: Argument 1 passed to Album\Controller\AlbumController::__construct() must be an instance of Album\Model\AlbumTable, none given
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM