Поле text
Поле text в Symfony представляет собой тип данных для хранения длинных текстов. В отличие от поля string, поле text не ограничено длиной и подходит для статей, описаний, комментариев и других объёмных текстовых данных. Поле имеет параметры nullable, unique, name и options.
Синтаксис
#[ORM\Column(type: 'text', nullable: true, unique: false)]
private ?string $fieldName = null;
Пример
Давайте создадим сущность Article с полем content типа text:
<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity]
class Article
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(type: 'integer')]
private ?int $id = null;
#[ORM\Column(type: 'text')]
private ?string $content = null;
public function getId(): ?int
{
return $this->id;
}
public function getContent(): ?string
{
return $this->content;
}
public function setContent(string $content): self
{
$this->content = $content;
return $this;
}
}
?>
Пример
Давайте сохраним статью с длинным текстом в базу данных через контроллер:
<?php
namespace App\Controller;
use App\Entity\Article;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
class ArticleController extends AbstractController
{
#[Route('/article/create', name: 'article_create')]
public function create(EntityManagerInterface $em): Response
{
$article = new Article();
$article->setContent('abcde');
$em->persist($article);
$em->flush();
return new Response('article saved');
}
}
?>
Результат выполнения кода:
"article saved"
Пример
Давайте выведем содержимое поля text в шаблоне Twig:
<p>{{ article.content }}</p>
Результат выполнения кода:
<p>abcde</p>