我正在尝试使用Doctrine 2的“类表继承特性”和XML映射(Symfony 2 PR 7)
XML超类CatalogProduct的XML定义:
<?xml version="1.0" encoding="UTF-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
xmlns:xsi="http://www.w3.org/2001/XML
我正在尝试获取将开始和限制属性应用于查询之前,$qb将返回的总记录。我的$qb和$totalQb本身运行良好,但当我尝试将$qb用作子选择时,会抛出一个错误:
$qb = $this->entityManager->createQueryBuilder()
->select('w, se')
->from('Dashboard\Entity\Section', 'se')
->innerJoin('se.word',
嗨,我觉得这是件容易的事,但我有点麻烦
我正在从数据库中检索帖子。Post实体有一个与用户实体关联的字段createdBy
我想做的是用两个单独的查询(无连接)加载Post和User。这意味着我需要访问$post对象上由外键创建的整数。教义似乎根本没有揭露这一点。post的var_转储显示createdBy=>null。如果我直接在post query createdBy=>user对象中加入用户。是否无法从post中获取由外键创建的整数,以便我可以为用户查询
谢谢在您的查询中使用此选项:
$q
我已经考虑在我目前正在开发的网站上使用gedmo,以使某些实体可翻译。我现在的问题是,如果特定用户将其语言环境设置为法语,并且并非所有可翻译实体都翻译为法语,该怎么办?当我试图检索指定区域设置的实体,但某些记录不存在该区域设置时,会发生什么情况?答案在一年半的评论中:
它们回退到默认语言版本
–meze一年半以来,答案都在评论中:
它们回退到默认语言版本
–meze他们会退回到默认语言版本。谢谢你的回答:)发布它,这样我就可以接受;)他们会退回到默认的语言版本。谢谢你的回答:)发布它,这样我就可
我对条令2是如此陌生,在数据库表关系方面不是那么好。我了解多对一、一对多、一对一和多对多关系的运作方式。我只是对下面使用CLI生成数据库表时出现的错误感到困惑
[Doctrine\ORM\ORMException]
Column name `id` referenced for relation from Kent\Entity\DoctorSpecialties towards Kent\Entity\Doctors does not exist.
请查看此github链接以查看我的
有没有办法在ArrayResult中获取外键?我有很多关于自我的实体。我想要缓存结果,但如果尝试缓存结果对象,我会得到关于序列化和睡眠的错误。所以,我尝试缓存arrayResult,但外键不显示在数组中
谢谢你的帮助
我有一个manytomy,我打破了OneToMany和manytomone的关系。我想构建一个有复选框而不是集合的表单,我正在使用“DoctrineObject”工具,但它不起作用,我不知道出了什么问题
我从代码下面删除了所有其他不相关的字段
角色实体:
/**
* @orm\Entity
* @orm\Table(name="roles")
*/
class RolesEntity extends HemisEntity {
/**
* @orm\Id
* @
我正在尝试使用Zend2和DoctrineODModule设置登录(身份验证),但出现了一个错误。
我按照教程设置了Zend2与DoctoriNeodModule on的身份验证
有什么建议我做错了什么吗?或者我该怎么办?带着你给我的信息
A value for the identity was not provided prior to authentication with ObjectRepository authentication adapter
我想说的是,要么你没有在你的用户文
我有两张桌子:
category
id | name
1 | Programming
2 | Designing
3 | PHP
4 | C#
5 | Adobe Photoshop
如何在“类别树”表中添加空值?为什么需要空值?如果类别没有父项,您不能在表中什么都不放吗?空值对外键不好。谢谢Florent,我明白了。。。。
category_tree
category_id | parent_id
1 | NULL
2 | NULL
3
我们目前正在使用该模块实现一个嵌套树。我们相信我们已经正确地连接了所有的东西,但是当我们使用条令去刷新时,我们总是得到一个例外
SyntaxErrorException in AbstractMySQLDriver.php line 90: An exception
occurred while executing 'INSERT INTO ProductTree (left, right,
rootProductTreeID, level, componentPro
如果我使用ZF2和条令开发一个项目,该项目使用类似于此的多对多关系,父字段集将如下所示:
namespace Application\Form;
use Application\Entity\BlogPost;
use Doctrine\Common\Persistence\ObjectManager;
use DoctrineModule\Stdlib\Hydrator\DoctrineObject as DoctrineHydrator;
use Zend\Form\Fieldset;
u
加入3个表后,我在查询速度方面遇到了问题。之前的速度为120-500毫秒。现在是1500-5000毫秒。可以加快我的查询速度吗
这是我的查询生成器:
public function findByCategory($category)
{
$qb = $this->createQueryBuilder('p');
$qb->select('p');
$qb->leftJoin('p.details', 'd');
$qb->leftJoin(
所以我有一个信条2 ORM实体,信任,有几个一对多的关系。我不知道如何填充这些的数组
class Trust implements \JsonSerializable {
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(type="st
我尝试为我的Symfony2应用程序与Doctrine2建立多人关系。我得到这个错误,我不知道为什么:
app/console doctrine:schema:create
PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/mcrypt.ini on line 1 in Unknown on line 0
ATTENTION: This operation should not b
我想用一个商对模型关联的ArrayCollection进行排序,如下所示(我知道以下代码不起作用):
在模型定义中是否可以直接实现这一点,或者在请求数据时是否只需在ArrayCollection上使用sort()?使用原则2.1,您可以直接在模型定义中实现这一点,但不能使用@OrderBy。您可以在模型级别定义DQL代码段,如中所述:
元数据中的命名DQL查询:您可以使用@namedquerys(@NamedQuery(name=“foo”,query=“DQL”))在映射文件中添加DQL查询,
标题中的所有内容:)
我想知道到底是什么?我能理解什么是级联移除之类的
谢谢这都是关于联想的
假设您有两个类Parent和Child,它们之间有OneToMany关联。级联操作意味着,如果要分离/删除关联的拥有方的对象,则反向方的对象也会分离/删除
注意,这与delete/updatecascade上的SQL无关,这只适用于PHP数据模型。但是,当然,当涉及到刷新更改时,使用级联操作从数据模型中删除的实体将与手动删除的实体一样从数据库中删除
两个星期以来,我一直在与休闲问题作斗争
我正在使用DataFixturesBundle将我的装置加载到数据库。一切正常。
我决定使用capifony(capistrano)在生产环境中部署我的应用程序
那也很顺利。我已经在生产服务器上实现了我希望capifony通过我的应用程序为我做的所有事情。
但我确实得到了一个错误,我甚至不知道是什么捆绑造成的
重要信息:此错误仅显示在生产服务器上,无论我是在DEV环境还是PROD环境(也是调试环境)上都没有关系,但该错误从未显示在我的本地主机上(在两台计算
如何将同一元组上的这两个更新合并为一个操作
$q = $this->em->createQuery('update \Entity\UserEn u set u.last = :last where u.name = :name');
$q->setParameters( array(
'last' => new \DateTime($newLast),
'name' => $theUser,
));
$q->getResult();
我已经创建了一个实体A,该实体与OneToMany关系为B,与OneToMany关系为C
我必须克隆这个A实体,并用新id在数据库中设置它。同时,所有深层关系也应该用新id克隆
我尝试的是将Aid设置为null:
$A = clone $A_original;
$A->setId(null);
$em->persist($A);
它在A表中创建新记录,但不在B和C中创建新记录
我应该如何制作实体的完整副本?
您必须在实体中实现一个\u clone()方法,该方法将id设置为null
我使用条令查询生成器来构建我的查询
$qb = $this->getEntityManager()->createQueryBuilder();
$qb->select(array('u'))->from('Account', 'a');
-- problem here
$qb->where('lower_unaccent(u.email) LIKE :search');
$qb->setParameter('search', $search['search
“长度”的确切用途是什么
在上面的URL中,它声明:“长度:'字符串'类型用于确定其在数据库中的最大长度。条令不会为您验证字符串值的长度。”
我在数据库中定义了长度,那么在条令中添加“长度”有什么意义呢?“长度”是否与验证有关
我唯一能弄明白的是,它在尝试将多余的字符插入数据库之前会将其切掉。当我想要一个异常或错误时,这很烦人
谢谢:D原则不会对您的实体应用任何类型的验证:它只是应用所需的类型转换加载和保存数据(如果对象出现问题,则会失败)
length属性仅用于在使用条令的模式工具生成模式期
例如:
我们有实体PhotoGallery和Photo(一对多,cascade={“persist”,“remove”})。如果用户删除照片库-所有照片将自动从数据库中删除。但是照片文件没有被删除
如何在实体照片中执行onDelete功能,该功能在删除实体之前/之后执行,以及如何从HDD中删除照片文件?您可以在照片模型中使用,如下所示
在类定义中添加@HasLifecycleCallbacks注释:
/** @Entity @HasLifecycleCallbacks */
class Phot
我的包含条令2的缓存文件夹被数千个文件夹填满,这些文件夹似乎包含所有执行的条令操作的已翻译SQL查询。在代码中,DQL查询上没有显式缓存命令。几乎所有的DQL都包含一些基于用户操作的可变部分,主要是WHERE子句中的一些过滤。我喜欢缓存转换过程的概念,但似乎查询是作为一个整体处理的,由于许多查询是唯一的,所以缓存毫无意义
因为我对教义还不太熟悉,所以我肯定遗漏了什么。有人能告诉我如何让查询缓存正常工作吗
另外,条令命令行上的clear cache不会删除这些文件夹,我手动删除它们,这意味着什么
我正在开发我自己的扩展,它将包含一个注释
我想通过使用注释扩展实体。实体应该扩展一些额外的字段。我通过监听metaclassloaded事件来做到这一点
但是条令抛出了一个例外,因为实体没有属性。是否可以通过编程方式添加它们?您自己的扩展是什么意思?我正在处理我要发布的自定义扩展
存在机构实体,可以删除机构。但删除后,数据库中的数据不会被删除,默认值为NULL的“已删除”列将更改为删除的日期和时间
该项目已经取得进展,许多地方都设立了机构。问题是,并非所有机构的呼叫都是通过删除的值查询的
为了不手动添加额外的where子句,我一直在寻找一种方法,将默认条件添加到所有机构存储库查询中,以仅返回“deleted”值为NULL的机构。但是没有什么真正的帮助。您正在寻找的是“软删除”,您应该签出它将对您的实体应用侦听器,该侦听器将只返回未删除的条目,但仍允许DQL查询和重写。可能
我正在使用条令处理实体继承
我有一个基本实体BaseEntity
然后我有FirstEntity和SecondEntity,它们扩展了BaseEntity
另一方面,我有一个标准实体,它有一个映射关联,即OneToManyBaseEntity命名的baseEntities
在标准实体的查看页面中,还应显示与此实体相关的基本实体列表
但我有点麻烦
第一个错误:
An exception has been thrown during the rendering of a template ("War
我有一个Web服务,它从客户端收集数据并将其存储到数据库中。另一个PHP应用程序(CLI)异步处理数据。客户端可以非常快地将数据写入数据库(这很重要),数据处理将从另一个进程并行运行
如果Web服务缓存了CLI进程在数据库中更改的数据,我如何配置ORM以防止出现问题?webservice访问不同步的对象,是否可以在每次访问时刷新对象?看来,保存对象数据以阻止数据库访问的二级缓存仍处于试验状态,默认情况下处于禁用状态。因此,两个应用程序都可以在没有过时数据的情况下访问数据库。我应该始终使用DQL从
我可以在Symfony中保存单个实体,而不刷新所有更改吗?例如
$em = $this->getDoctrine();
$entity1 = $em->find('\SomeEntity', 1);
$entity2 = $em->find('\SomeEntity', 2);
$entity1->setFoo(1);
$entity1->persist();
$entity2->setFoo(2);
$this->saveRightNow($entit
我有一个实体,它有一些关系。我需要用关系克隆此实体。如何克隆具有关系的Doctrine 2实体?Benjamin Eberley之前回答了这个问题:
您可以在userland中实现_clone()并正确处理副本
来源:本杰明·埃伯莱之前回答了这个问题:
您可以在userland中实现_clone()并正确处理副本
资料来源:
我有两个实体:情节和版本。
当我尝试删除某个版本时,出现异常:
注意:未定义索引:插曲在/var/www/Mendrock/vendor/doctrine/orm/lib/doctrine/orm/Persisters/basicintypersister.php第1561行
我已经检查了关系,但没有发现错误
我的实体:
插曲
namespace Mendrock\Bundle\SagaBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
有人能解释一下为什么我会得到不同的结果吗
$user = new UserEn();
$user->setName("test");
$em->persist($user);
$result1 = $em->find('UserEn', 'test');
$result2 = $em->getRepository('UserEn')->findBy(array('name'=>'test'));
$q = $em->createQuery('sel
我有一个复杂的查询,需要用DQL/Doctrine2编写。
我遗漏了所有额外连接/计算的伪查询是:
SELECT
a, SUM(b)
FROM (
SELECT
a, SUM(b)
FROM tbl
GROUP BY a,c
) calc
GROUP BY a
首先是a列和c列上的group by,然后是a列上的select和group by
在querybuilder中,选择部件上的伪代码很简单:
$queryBuilder = $
我不太懂教义。使用Symfony2框架,我创建了各种具有基本getter和setter方法的实体。到目前为止,如果我想要一些额外的功能,我只需要在实体中创建一个新方法就可以了。(例如,如果我想存储用户密码,我会创建一个方法来获取用户密码并直接存储密码的哈希值)
我现在听说有些东西,比如“存储库”,应该包含“更复杂”的方法,而不是将它们存储在实体本身中。如果您可以简单地将所有代码保存在实际实体中的一个位置,那么拥有一个存储库的实际好处是什么呢?实体是一个表示(通常)数据库中一行的对象,您应该将这些
我用的是ZF2,信条
我有几个扩展基本抽象类的实体。
抽象类中的一个字段与另一个实体消息相关
我的实体:
class AbstractChat
{
............
/** ONE-TO-MANY BIDIRECTIONAL, INVERSE SIDE
* @ORM\OneToMany(targetEntity="Chat\Entity\Message", mappedBy="chat")
*/
protected $messages;
}
我对zf2身份验证有问题。当zend试图序列化具有定义为原则代理的属性的原则实体时,就会出现问题。
我得到了
PHP警告:unserialize():函数spl\u autoload\u call()未定义调用它的类
你有什么想法吗?为了条令实体/文档序列化的目的,我使用这个模块。希望能有所帮助你读过这篇文章吗?感谢您的评论,我以前没有读过,但我现在使用的是标准Zend\Authentication和“doctrine.authenticationservice.orm_default”。在那里
我正在尝试创建如下数据库:
const QUERY_DB_CREATE = "
CREATE DATABASE :db_name
";
if (database is not exists) {
$stmt = $conn->prepare(self::QUERY_DB_CREATE);
$stmt->bindValue(':db_name', $db_name, 'string');
return $stmt->execute();
}
错
我有以下协会:
餐厅1:n餐饮1:n供应
现在我想有一个方法来获得今天所有可用的膳食。在实体中是否有这样做的方法?我考虑过CriteriaAPI,但由于第二个问题,我不知道如何处理它
class Restaurant {
public function getTodaysMeals() {
$criteria = Criteria::create()
->where(Criteria::expr()->eq('availabilitie
我在User和Calls实体之间有OneToMany关系Call依次具有@嵌入的属性cdr,由CallDetailRecord类表示。我需要通过CallDetailRecord类的属性之一过滤掉调用集合。如果我使用点表示法(如'cdr.disposition')-未定义的属性:Mock\u Call\u ccc3cbd4::$cdr.disposition。下划线符号-相同的结果。一般来说,是否可以在这种情况下使用Criteria API?结果是有\doctor\Common\Collectio
我有两个实体
TB\Entity\UserProfile
/**
* @OneToMany(targetEntity="TB\Entity\ShopVideo", mappedBy="shop",
* cascade={"persist", "remove"}
* )
*/
private $video;
及
TB\Entity\ShopVideo
/**
* @var UserProfile
*
* @ManyToOne(targetEntity="TB\Entity
我的表单中有两个对象,一个场景和它的背景。页面的大部分是新的场景的表单,我有一个角落,有一个缩略图和一个文件输入字段。每当更改文件字段时,它都会将图像上载到服务器,在服务器上创建并保存后台实体。然后它返回实体的Id,我将其存储在表单中的一个隐藏字段中
当我提交此文件时,它告诉我,我正试图在场景#setBackground方法中存储一个字符串。如果我从SceneType表单类中的background字段中删除hidden属性,它将呈现一个框,一切正常。我添加了hidden属性,并发布了相同的数据,
我试图在ZF2中使用bjy AUTHORY、zfcUser和zfc用户原则orm。
我安装了与手册相关的所有模块。为了将bjyAuthorize与条令一起使用,我使用了本教程
如何创建新角色以及如何将它们链接到用户
上面的教程使用此选项配置角色\u提供程序:
'BjyAuthorize\Provider\Role\DoctrineEntity' => array(
'role_entity_class'
我对将ORM的类表继承(CTI)与ZF2的Zend\Form结合使用有一个疑问。在我们的系统中,每个用户都可以有多个角色,这些角色是通过类表继承方案定义的,因此我们可以定义特定于角色的配置文件字段(即:“年级级别”仅适用于学生帐户)。要构造此属性,有一个帐户实体与帐户\角色有一个OneToMany关联(CTI“基本”类):
但是,如上所述,在设置角色字段时,目标元素(在本例中为字段集)是在集合级别指定的,这意味着集合必须是统一的。对于上述情况,我需要能够为集合的每个元素分别指定target\u元
我有用户可以购买使用的对象
背包。背包有不同的类型,所以我想我会使用原则文件中描述的STI:
这很好,而且有效。有人可以购买BasicBackPack或LargeBackPack,当从存储库中收集实体时,会创建正确的类
这一切都很好
我现在的问题是,我希望人们能够将BasicBackPack升级为LargeBackPack,但我发现我无法更改描述符列的值。当我尝试时,条令抱怨x类中没有“描述符列”,但正如我在数据库中看到的那样
创建实体后,是否无法更改描述符列值?您好,请显示原始错误消息。如何
是否可以在部分选择中使用别名?因为我使用下划线作为前端变量和后端变量的命名约定
以下是我的条令质疑:
return $this->postingRepo->createQueryBuilder('p')
->select('p.postingId','p.datetimePosted')
->innerJoin('p.user','u')
->addSelect('partial u.{userId as user_i
当我尝试在控制器中使用实体时,出现以下错误:
在C:\xampp\htdocs\zf2\u pr6\vendor\doctor\common\lib\doctor\common\Persistence\MappingException.php中的链配置名称空间中找不到类“Application\Entity\User”
我的module.config.php配置包括
'doctrine' => array(
'driver' => array(
'applic
我正在研究是否尝试博士2。有一件事令我害怕的是过度选择我不需要的列(例如,考虑不必要地选择很多VARCHARS)。p>
您可能会问:但是您不想填充完整的实体对象吗?是的,除非我在找一个数组。但是,很多时候我不需要填充完整的聚合。以下面显示的关联为例。如果我用一个JOIN-on-Address查询Users表,那么地址表中的所有列是否也会被选中(并因此填充到Users对象内部的Address对象中)?现在想象我们有更多的连接。这可能会变得非常糟糕。如果我只想在一个仅限用户的对象中填充来自用户的字段
我正在尝试加载实体并获取并加入另一个实体
$qb = $this->_em->createQueryBuilder();
$qb->addSelect('be, becs');
$qb->from('MeMyBundle:Entity', 'be');
$qb->leftJoin('be.associations', 'becs');
$qb->andWhere('becs.attribute=:attribute');
$qb->setParamete
我怎样才能逃出min,让它工作?我尝试将min别名改为类似\u min的内容,但应该有更好的方法
我尝试了单引号和反勾号,但都不起作用。使用Mysql,可以使用反勾号`min`
使用Postgres,您可以使用doublequote“min”
您可以使用另一个单词,如minimum作为别名,以避免依赖数据库使用Mysql,您可以使用backtick`min`
使用Postgres,您可以使用doublequote“min”
您可以使用另一个单词(如minimum)作为别名,以避免依赖数据库您将无
我对教义不熟悉,似乎找不到答案
要将新创建的对象保存到数据库(相当于SQL INSERT查询),我使用
$this->getEntityManager()->persist($category);
$this->getEntityManager()->flush($category);
$this->getEntityManager()->remove($category);
$this->getEntityManage
我有一个symfony5项目,它有默认的身份验证和用户实体。我正在阅读以便使用$em->createQueryBuilder函数,但我遇到了以下错误:
[语义错误]第0行,第14列“用户u”附近,其中:错误:未定义类“用户”
我只需要查询一些具有特定角色的用户,因此我在控制器中编写了以下代码:
$em=$this->getdoctor->getManager;
$qb=$em->createQueryBuilder;
$category\u users=$qb->selectarray'u'
-
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 34 页