doctrine-orm 相关问题

Doctrine ORM是一个PHP ORM。虽然Doctrine 1.2使用Active Record模式,但Doctrine ORM 2及更高版本使用Data Mapper模式。 Doctrine项目是一个开源库和工具的集合,用于处理用PHP编写的数据库抽象和对象关系映射。

Symfony 7.1 - Doctrine 2.13 自动映射功能弃用

我正在 Symfony 7.1 中开发一个项目,自上次更新以来,我遇到了以下弃用的小问题: 自 Doctrine/doctrine-bundle 2.13 起:启用控制器

回答 1 投票 0

Doctrine 2 设置 ManyToOne 关系时,category_id 始终为 NULL

当我插入新条目时,如果我设置多对一关系“类别”,我将无法填写“categoryId”字段,为什么? 这是具有以下关系的实体: 当我插入新条目时,如果我设置 ManyToOne 关系“类别”,我将无法填写“categoryId”字段,为什么? 这是具有关系的实体: <?php namespace Application\Entity; use Doctrine\ORM\Mapping as ORM; /** * Item * * @ORM\Table(name="item") * @ORM\Entity */ class Item extends Base { /** * @ORM\ManyToOne(targetEntity="Category") */ private $category; /** * @var integer * * @ORM\Column(name="id", type="integer", nullable=false) * @ORM\Id * @ORM\GeneratedValue(strategy="IDENTITY") */ public $id; /** * @var string * * @ORM\Column(name="name", type="string", length=40, nullable=false) */ public $name; /** * @var integer * * @ORM\Column(name="category_id", type="integer", nullable=true) */ public $categoryId; } 这是我为生成 getter 和 setter 所做的基类,并允许 $entry->name = 'yo' 而不是 $entry->setName('yo'); <?php namespace Application\Entity; class Base { public function __call($method, $args) { if (preg_match('#^get#i', $method)) { $property = str_replace('get', '', $method); $property = strtolower($property); return $this->$property; } if (preg_match('#^set#i', $method)) { $property = str_replace('set', '', $method); $property = strtolower($property); $this->$property = $args[0]; } } public function fromArray(array $array = array()) { foreach ($array as $key => $value) { $this->$key = $value; } } } 这就是我保存新项目的方式: $item = new \Application\Entity\Item(); $item->name = 'Computer'; $item->categoryId = '12'; $this->em->persist($item); $this->em->flush(); 出了什么问题? 你做错了!使用 Doctrine,您不使用category_id 列(及类似列),而是使用关系。教义会照顾专栏。 您必须阅读文档,但正确的方法是: $category = new Category() ; $category->setName("Food") ; $item = new Item() ; $item->setName("Pizza") ; $item->setCategory($category) ; $em->persist($item) ; $em->flush() ; 这是 100% 正确的做事方式,你甚至不需要坚持新创建的类别(Doctrine 会为你做这件事)。但手动尝试设置category_id列是完全错误的做法。 还有一个: 不要尝试制作 Doctrine2 的 ActiveRecord。当我从 D1 切换到 D2 时,我想做同样的事情,但最后发现这是浪费时间。看起来你正在尝试制作自己的框架;不要那样做。改为学习 Symfony2;这并不容易,但值得花时间。

回答 1 投票 0

““App\Entity\Brand”类中的“isEnabled”方法需要 0 个参数,但应该只接受 1 个”

我正在尝试使用学说在数据库中保存一个简单的表格。我创建的实体 - 让其命名为 Brand - 使用 php bin/console make:entity 有一个布尔属性: #[ORM\Entity(repositoryClass:

回答 1 投票 0

原则 2 到原则 3 = HINT_FORCE_PARTIAL_LOAD 不可用

我在原则 2 中为我的查询构建器提供了这个 $query = $query->setHint(Query::HINT_FORCE_PARTIAL_LOAD, 1); 自从更新到学说 3 后,它就不再起作用了。 VSCODE 找不到参数...

回答 1 投票 0

Symfony 7.1 命令 php bin/console 学说:映射:导入

我正在使用 symfony 7.1,我想从现有表生成实体,但它似乎不起作用。首先我运行这个命令 php bin/console 学说:mapping:import "App\Entity"

回答 1 投票 0

CodeIgniter 模型与 Symfony/Doctrine 模型

背景: 我使用 CodeIgniter 构建了我的 Web 应用程序,因为它是我可以轻松掌握并快速上手的唯一框架。现在看到令人难以置信的先进功能......

回答 1 投票 0

event.DEBUG、doctrine.DEBUG、security.DEBUG 使 dev.log 文件变得非常大

我在 Symfony2 上运行一个应用程序。每当我加载页面或控制器时,dev.log 文件就会充满成千上万的此类行: [2017-10-12 15:26:08] event.DEBUG: 通知事件“k...

回答 2 投票 0

Gedmo\Loggable 记录未更改的数据

我正在使用 Symfony2.2 和 StofDoctrineExtensionsBundle(以及 Gedmo DoctrineExtensions)。 我有一个简单的实体 /** * @ORM\实体 * @Gedmo\Loggable * @ORM\Table(名称=“人”) */ 类人{...

回答 3 投票 0

Symfony - 在 Doctrine EntityRepository 中注入和访问 DIC 服务

这与用 Symfony 2.2.1、原则 2.3.3 编写的遗留项目相关。 我需要在 EntityRepository 类之一中访问 DIC @service。 我可以将此服务或容器注入...

回答 2 投票 0

URL 在生产中给出内部服务器错误,但在开发中有效?

我对symfony2和doctrine2比较陌生,并对某些事情感到困惑...... 当在开发环境中访问某个页面时,我按预期获取了该页面的内容,但是当我尝试打开

回答 1 投票 0

安装 stof 捆绑包和学说扩展(树)时出现致命错误

问题是:我没有成功使用 symphony 2.0 安装 stof 包 我如何进行: 我在 deps 文件中添加以下行: [Gedmo 学说扩展] git=https://github.com/l3pp4rd/

回答 2 投票 0

如何在 Symfony2 中验证实体映射表单的子表单?

我有一个映射到实体的表单('data_class' => ...)。我已经在实体的属性上设置了验证器(通过注释)。 该实体有一个属性(nameTranslations)为 doctr...

回答 1 投票 0

Doctrine 分页 - 限制显示的页数?

查看了这方面的文档,但找不到我需要的明确答案,所以不确定是否可能,但这就是我想要实现的目标: 我有一份客户名单

回答 2 投票 0

学说-按日期分组

我有这样的疑问: SELECT DATE_FORMAT(exp_date, "%Y-%m") AS 月份,sum(exp_total) FROM 导出 GROUP BY DATE_FORMAT(exp_date, "%Y-%m"); 我尝试将其转换为 Symfony 学说,如下所示: $q...

回答 2 投票 0

保存时UTF-8数据被切断

我正在将标题从 CSV 文件保存到数据库中。 在 Ubuntu 上用 less 查看该文件的开头如下: 约会,超市,特色菜,外卖,咖啡厅/餐厅 1/06/2019,0.0391759...

回答 1 投票 0

Doctrine 使用短名称空间别名“App:MyEntity” 问题:在 Doctrine/persistence 2.x 中已弃用且不受 persistence:3.x 支持的功能

我正在我的 sf 6.4 项目中更新和开发 CLIfunction,它返回: 在 NotSupported.php 第 31 行: ...

回答 1 投票 0

如何在Symfony2中拥有模型管理器?

抱歉,如果这个问题已经得到解答,我找不到任何答案。 我正在 Symfony2 中构建这个模型: 类 LogEntry { /** * @var 整数 $id * * @ORM\Column(name="id", t...

回答 1 投票 0

Symfony、Doctrine - 将查询结果映射到自定义类而不是实体

假设我有一个名为 User 的实体,它包含角色、用户名、盐、密码、全名和名字。 我正在使用 Symfony 和 Doctrine,所以当我创建一个 User 实体时,我有 UserRepository wh...

回答 1 投票 0

如何停止需要缓存:清除每个注释更改?

我有一个用 Symfony 5 构建的新项目,并且有 Api 平台 2.7。 我的项目也有 PHP 7.4。 我的问题是,我在注释中得到的每一个更改,我都需要输入cache:clear或cache:

回答 1 投票 0

Symfony 5.4 运行 SQL 查询时出错:违反完整性约束:1048 列“用户名”不能为空

我正在使用friendsofsymfony捆绑包进行身份验证,情况是当我尝试登录时,用户成功登录并获取访问令牌,但在发生一些安全事件时在同一请求中

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.