我正在阅读"The Book“,它让我在~/src/Acme/TaskBundle/Entity中创建一个文件。但我不明白为什么它会在那里。什么是实体?
发布于 2013-11-28 04:31:38
entity是一种用来保存数据的对象。entity的每个实例恰好包含目标数据库表的一行。
至于目录,Symfony2有一些期望在哪里找到类-实体也是如此。Symfony2强制执行实体语法Bundle:EntityName,所以当您说从"AcmeTaskBundle:SomeEntity“中获取所有数据时,它知道要在Acme\TaskBundle\Entity\SomeEntity.php中查找类文件
你可能应该先看看ORM上的一些教程(Symfony2默认使用Doctrine ORM ),或者暂时跳过数据持久化……
发布于 2013-11-28 05:44:12
实体是表示底层数据的对象(正如@perovic所说:来自单个表的恰好一行数据,与来自其他表的数据相连接)。
来自维基百科的“实体”定义:
DBMS实体可以是建模世界中的事物,也可以是
中的绘图元素。
(计算机工程实体的完整概念在维基百科的“实体-关系模型”定义中定义)
在Symfony的文档"The Book“的"Databases and Doctrine”一章中,"product“对象是实体。它与RDB的关系在标题“添加映射信息”下描述。
在Symfony中,整个模型(数据层)通过Doctrine持久化(保存、更新)和管理。
这只是主要的概念。更多信息可以在这里找到:
(哇。用2个链接和没有图像来写所有这些是很困难的:P )
发布于 2013-11-28 11:21:05
entity对象是用于与数据库交互的抽象。例如,而不是做
UPDATE Book
SET title="My Book"
WHERE isbn="123456789";您可以简单地访问该对象
/** @var $book \Acme\TaskBundle\Entity\Book **/
$book = $repository->findOneByIsbn('123456789');
$book->setTitle('My Book');
/** @var $em \Doctrine\ORM\EntityManager **/
$em->persist($book)
$em->flush();还有很多东西落在后面。有关更多信息,请参考Doctrine ORM文档。
Acme\TaskBundle\Entity路径是Doctrine加载实体定义的默认位置。
https://stackoverflow.com/questions/20252034
复制相似问题