Symfony 4:试图从错误的命名空间调用函数

Symfony 4: Attempted to call function from wrong namespace

我是 symfony 新手。

我正在尝试遵循一些教程,但我仍然坚持使用 ORM

我使用以下命令生成了一个实体:

php bin/console make:entity

我的实体有一个字段 "name",因此有一个函数 setName ()

我用命令生成了一个控制器:

php bin/console make:controller TestController

在此控制器中,我尝试注册一个新条目,但出现以下错误:

Attempted to call function "setName" from namespace "App \ Controller".

我做错了什么?

TestController.php:

<?php

namespace App\Controller;

use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;

use App\Entity\Team;

class TestController extends Controller
{
    /**
     * @Route("/test", name="test")
     */
    public function index()
    {
        $entityManager = $this->getDoctrine()->getManager();
        $team = new Team();
        $team.setName("Marvels 6");

        $entityManager->persist($team);
        $entityManager->flush();

        return $this->json([
            'message' => 'Welcome to your new controller!',
            'path' => 'src/Controller/TestController.php',
        ]);
    }
}

Team.php:

<?php

namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity(repositoryClass="App\Repository\TeamRepository")
 */
class Team
{
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column(type="string", length=255)
     */
    private $name;

    /**
     * @ORM\ManyToOne(targetEntity="App\Entity\Poule", inversedBy="teams")
     */
    private $poule;

    public function getId()
    {
        return $this->id;
    }

    public function getName(): string
    {
        return $this->name;
    }

    public function setName(string $name): self
    {
        $this->name = $name;

        return $this;
    }

    public function getPoule(): Poule
    {
        return $this->poule;
    }

    public function setPoule(Poule $poule): self
    {
        $this->poule = $poule;

        return $this;
    }
}

这是你复制粘贴的代码吗?

$team.setName("Marvels 6");

大概应该是:

$team->setName("Marvels 6");