Doctrine orm 条令2:产品是否等于多个类别的查询
这不允许多个位置 $categories是一个数组,它由它必须匹配的类别组成,以便选择正确的产品。比如鞋子(3双)、黑色(20双)、小号(24双) 可能吗?在条令文件中,我发现: $categories= array(3,20,24); $qb = $this->em->createQueryBuilder(); $qb->select('p') ->from('\Entities\Productss', 'p')
这不允许多个位置 $categories是一个数组,它由它必须匹配的类别组成,以便选择正确的产品。比如鞋子(3双)、黑色(20双)、小号(24双) 可能吗?在条令文件中,我发现: $categories= array(3,20,24); $qb = $this->em->createQueryBuilder(); $qb->select('p') ->from('\Entities\Productss', 'p')
我想复制我们现有的表结构,并对所有列使用表前缀: table name: TBLO_TABLE_ONE table columns: TBLO_COLUMN_ONE TBLO_COLUMN_TWO etc... 然而,NamingStrategy的条令界面似乎并不适合。有什么想法吗?我已经向doctrine2github存储库提交了一个请求,添加了这个功能 我已经向doctrine2github存储库提交了一个pull请求,添加了此功能
我使用doctrine2orm在Symfony2框架中编写服务器应用程序。现在我需要保护我的数据库不受SQL注入的影响。我读了一点这方面的内容,我知道doctrine2准备好的语句可以防止我的应用受到SQL注入攻击。但这能保证我100%的安全吗?真的没有可能攻击我的服务器应用程序吗?如果有什么办法,我怎么能为它辩护呢?当你到处使用条令时,你所有的陈述都会通过条令得到保护。 我想没有人能回答:“有100%的安全” 但是当有一个与条令相关的已知安全问题时,我很确定它很快就会得到解决,因为有许多用户在
在DQL查询中使用?或?1有什么区别?例如 $qb->add('select', 'u') ->add('from', 'User u') ->add('where', 'u.id = ?1') //<------- ->add('orderBy', 'u.name ASC'); ->setParameter(1, 100); $qb->add('select','u') ->添加('from','User u') ->add('wh
我正在现有数据库的基础上实现一个新的应用程序。移动应用程序正在使用现有数据库,由于移动应用程序由另一个团队开发,我不允许更改现有表的结构 现有数据库有一个用户表,对于我自己应用程序的用户,我创建了自己的表和称为PortalUser(Tableportal_user)的条令实体 PortalUser实体将有一个名为$children的OneToMany关联,它引用现有的用户实体。换句话说,每个PortalUser都有零个或多个子用户实体 实现这一点的最自然的方法是使用类似以下内容(简化): 用户(
我有两个实体-一个用户和一个标签 这是我的用户: <?php namespace Project\Model; /** * @Entity * @Table(name="users") * @InheritanceType("JOINED") * @DiscriminatorColumn(name="discr", type="string") * @DiscriminatorMap({"user" = "User", "client" = "Client", "staff" =
我试图在两个实体之间创建一个实体,但得到的是以下错误: # app/console doctrine:schema:validate --env=dev_local [Mapping] FAIL - The entity-class 'Belka\AuthBundle\Entity\Globaltoken' mapping is invalid: * The association Belka\AuthBundle\Entity\Globaltoken#user refers to the
我有一些不需要翻译的标签(例如,IBAN、PayPal电子邮件、Skype…) 我是否可以避免翻译它们(这将无用地增加翻译文件的大小),而不会出现“丢失消息”错误 我在您的FormType中使用标准的条令实体+FormType类+细枝布局,只需将“translation\u domain”选项设置为false 您也可以在子对象上使用此选项
我的问题是如何在Orangehrm中实现单元过滤器 我想做的是在休假列表中以小时(每天8小时)而不是天数显示休假持续时间,如果持续时间少于一天(最少事假为30分钟) 我编写了一个单元过滤器类,如下所示 您可以使用“人力资源管理办公室休假”表的长度小时字段来显示休假列表中以小时为单位的持续时间。我希望这可能对您有用。您是对的,但问题是我想在同一个表中显示以天为单位延长超过一天的假期和以小时为单位延长不到一天的假期是否有方法过滤列表中的值?在给定的表中,我需要筛选用户。
我在一个实体中有一段代码: /** * @ORM\ManyToOne(targetEntity="Centers") * @ORM\JoinColumn(name="center_id", referencedColumnName="id") * @ORM\Column(type="string", length=36, name="center_id") */ protected $centerId; 然而,schema:update表示所有内容都是同步的。即使将中心更改为其他不存在
我有两个实体produit和stock,当我尝试插入一个新的stock时,我想在我的代码中添加一个测试(如果produit存在于stock上,则更新其qunatite如果没有插入新的) 这是我在我的控制器StockController /** * @Route("/new", name="stock_new", methods={"GET","POST"}) */ public function new(Requ
我很困惑在条令2中设置级联删除。下面是我的设置 我想设置层叠,以便可以执行类似于$list->getStages()->clear() 我在舞台课上试过 /** * @OneToMany(targetEntity="TaskProgress", mappedBy="stage", cascade={"remove"}) */ protected $taskStages; 但这没有起到任何作用,我甚至试着在其他类(如List、TaskProgress或Task)中使用同样的方法,但似乎没有
早上有点脑残。与symfony2混在一起,我无法解决如何通过用户id更新表。例如:我有一个在注册时创建的带有用户id的配置文件表,因此除了用户id之外,我还有一个空表。我想更新属于登录用户的配置文件表行。我有一对一的关系和一个getUser方法??我可以得到当前登录用户的id,只是不知道更新相关表格 考虑到您的信息,我假设用户是所有者。我不知道您是否将配置文件设置为持久化用户 if (is_null($user->getProfile()) { $profile = new \Foo\
我正在寻找关于如何映射使用联接表的OneToMany/manytone关系的建议。我没有进行映射,并且我得到一个错误,即媒体表中没有设置article_id 类媒体 { // ... /** *@manytone(targetEntity=“Document”,inversedBy=“media”) *@JoinTable(name=“articles\u x\u media”,referencedColumnName=“id”) *joinColumns={@JoinColumn(name=“
在原则2中,UnitOfWork对象有一个GetScheduleIdentityUpdates方法,该方法返回计划更新的所有实体的数组。这个数组的键似乎是巨大的十六进制数,如[000000000 FA329800000000D03645F6]。这些键代表什么?这些键是存储在中的对象的对象哈希 您可以使用以下方法获取对象的对象哈希: $object=new\stdClass; var_dumpspl_object_hash$object; ORM保留了一个所有对象散列和实体标识符的列表,这些散列都
是否可以在Doctrine2中将父名称字段创建为一对多关联 例如,我们有一个会议。此会议可以与联系人或帐户关联 数据示例: meeting_name | parent_name | parent_id ------------------------------------------------------ Meeting with a friend | Contacts | <contact_id> Meeting with the cus
我得到这个错误: [语义错误]属性实体\站点::$id中的批注“@HireVoice\Neo4j\annotation”不存在,或无法自动加载 这是Entity/Site.php: namespace Entity; use HireVoice\Neo4j\Annotation as OGM; use Doctrine\Common\Collections\ArrayCollection; /** * Class Site * @OGM\Enti
我正在使用$entityManager->getReference为我的实体获取代理。当我调用主键的getter时,我将初始化代理并执行SELECT查询。我预计这只会发生在调用其他未被条令知晓的属性时 下面的代码说明了该问题: $myEntity = $em->getReference('MyNamespace\MyEntity', 1); $myEntity->getId(); //This will execute a database call. I expect it to
我有以下测试课程: class UserTest extends PHPUnit_Framework_TestCase { protected $em; public function setUp() { $this->em = getEntityManager(true); $tool = new \Doctrine\ORM\Tools\SchemaTool($this->em); $mdFactory = $t
考虑到两个实体(具有多对一关系),有可能这样做吗 实体:客户 /** * @ORM\Table(name="cliente") * @ORM\Entity */ class Cliente { /** * @ORM\Column(name="id_cliente", type="integer") * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") */ private $id;
我需要创建一个类似条令的查询: select * from table order by if(myfield <> '',1,0), othercolumn ASC 从表中选择* 按if排序(myfield“”,1,0),其他列ASC 简而言之,字段不为空的order by列显示为第一个结果 在我的代码中,我使用ZF2: $qb = $myrepository->createQueryBuilder( 's' ); $qb->addOrderBy( 'if(s.my
我正在尝试测试一个ZF3控制器操作,在这个过程中,该操作使用作为GET参数的令牌,通过Doctrine ORM存储库从数据库中选择一个用户。因为我需要确保用户存在,所以我需要创建一个返回用户对象的存储库的模拟。我该怎么做 我的设置如下所示: 类UserControllerFactory正在实例化UserController类: class UserControllerFactory implements FactoryInterface { /** * @param ContainerInt
我在条令中有一个文章实体,它与Tag有多对多关系。也就是说,一篇文章可以使用多个标记进行标记,它们由数据库中的articles_tags表绑定在一起 假设我们想要找到与给定标记关联的所有文章。对于一个例子,假设我们想找到所有与cars标签相关的文章:一篇关于汽车的文章 DQL与SQL相反 如果这是常规SQL或某种类型的SQL,我会以类似于以下的方式编写查询: SELECT * FROM articles_tags WHERE tag_id IN ( SELECT id FROM tags
我有一个列tags,在逗号分隔的列表中包含ID。 我想搜索列中有给定值的所有行 假设我有两行,其中列标记如下所示: Row1: 1,2,3,4 Row2: 2,5,3,12 我想搜索列中包含1的行。我试着这样做: $qb = $this->createQueryBuilder('p') ->where(':value IN (p.tags)) ->setParameter('value', 1); 我希望它能像这样 从mytable中选择p.*作为p
我正在symfony3.4中开发一个RPG游戏,我有一个NPCEntity数组通过控制器传递给一个细枝视图。我使用下面的代码过滤了一些关于NPC的数据: 显示比当前用户级别高5级的NPC 细枝视图: 全国人大实体: 我的控制器: 其他人帮我解决了这个问题,我为我的实体创建了一个存储库,在那里我创建了一个函数,根据当前登录的用户过滤NPC级别 NPCTypeRepository: 更新了我的战列控制器中的操作: {% for npc in npcs | filter(npc => npc
假设我有一个报价,可以有1-n范围。 你马上就会想,“把报价放在范围内” 但是我的报价有一个复合主键(由两个字段组成)。没有自动增量id列 Doctrine2文档并没有对这个特殊情况做太多说明,下面是我的实体: <?php use Doctrine\ORM\Mapping as ORM; /** * @ORM\Table() * @ORM\Entity */ class Offer { /** * @var Site $site * @ORM\Id
是否可以将列类型设置为原则中的间隔 CREATE TABLE periodicity (periodicity INTERVAL); 但是对于doctrine yml格式?我不知道,但是所有的doctrine“datetime”列类型都在内部创建为PHP\datetime对象 不完全确定您的用例是什么,但是如果您希望在实体上有一个时间戳(带间隔),您可以在构造函数中将一列标记为“new\Datetime('3 weeks')” 我希望能够在sql中为日期添加间隔。例如:选择开始日期+周期*5
我正试图从一个带有条令的本机查询返回一行。这是我的密码: $rsm = new ResultSetMapping; $rsm->addEntityResult('VNNCoreBundle:Player', 'p'); $rsm->addFieldResult('p', 'player_id', 'id'); $sql = " SELECT player_id FROM players p WHERE CONCAT(p.first_name, ' '
我不知道这是否是一个bug,但我使用的是原则2.3.0,我发现持久化/刷新行为非常奇怪。我有一个基本表: ------------------ | test | ------------------ | id INT | AI | | field1 VARCHAR | | field2 VARCHAR | ----------------- 当我仅通过设置字段1创建条目时: $test = new Entities\test(); $test->setField
我正在尝试让ZF2快速开始与条令一起工作。我以为我已经正确设置了它,但我得到了以下错误。有人看到了吗 文件: /Users/jhicks/workspace/zf2 example/vendor/doctor/common/lib/doctor/common/Persistence/Mapping/MappingException.php:38 信息: 在链配置的命名空间ZfcUser\Entity\Entity、ZfcUserDoctrineORM\Entity中找不到类“Album\Enti
截至2012年11月,整合ZF2和条令的最佳方式是什么?与几个月前一样感谢您的确认,我刚刚完成了以下整合。
简而言之:我们不时地给一些用户送礼物。我有一个user表和一个具有多对多关系的gift表。我想获取所有没有收到特定礼物的用户 但是,下面的查询将返回所有用户以及他们收到的礼物,但不包括特定的礼物 $qb = $this->_em->createQueryBuilder(); $qb->select('u, g') ->from('Application\Entity\User', 'u') ->leftJoin('u.gifts',
目前我对composer功能的理解非常有限,我知道我需要仔细阅读,并想正确理解正在发生的事情,但我现在没有时间做这件事,所以我真的可以在以下方面提供一些帮助。正如我所说,我知道我应该阅读手册,我通常也会阅读,但目前我只是在为时间而挣扎 通过在项目路径中的composer.json文件的“require”部分添加以下内容,我已在ZF2应用程序中安装了条令: "doctrine/doctrine-orm-module": "0.*" 几天前,我不得不在我的项目上运行composer update来
我想将集成到一个受驱动的应用程序中 所以我安装了 并激活应用程序配置文件(/config/application.config.php和/config/development.config.php)中的模块Phpro\doctrinehydrotionmodule,ZF\Apigility\doctor\Server,和/config/development.config.php) 下一步该怎么做才能开始在应用程序中普遍使用原则,尤其是在Apigility Admin领域?我在秋季尝试了这种Ap
我对Doctrine2有一个问题,它引发了以下异常: An exception occurred while executing 'INSERT INTO sesion (Contrasena, Estado, UsuarioIdentificacion) VALUES (?, ?, ?)' with params ["j15474874654j", "1", null]: SQLSTATE[23000]: Integrity constraint violation: 1048 Column
如何使用官方DoctrineORMModule从引导程序访问DB 例如,在我的控制器中: $allusers = $this->getEntityManager()->getRepository('Users\Entity\User')->findAll(); 但是当我在引导中时,我无法访问getEntityManager()和getRepository() 我跟进本指南: 但我在尝试连接到db时被卡住了 public function getDbRoles(MvcEvent
考虑一下原则中查询生成器的以下表达式 # fail $em->createQueryBuilder()->select('m')->from('TbUsermanager','t') ->join('t.manager', 'm') ->where('t.user=:user') ->setParameter('user', 1) -
我正在尝试使用ZF2和Doctrine 2创建一些东西。但我有点迷失了我想要实现的目标 首先,我现在使用$em=$this->getServiceLocator->get'Doctrine\ORM\EntityManager';在控制器内部,它将工作 但我想要的是更详细的东西,比如: class BaseModel extends Doctrine\ORM\EntityManager { public function save() { $em->persist($this
我有一对多关系的实体 TransactionItem--有许多-->付款 编辑:包括映射文件 Payment.yml映射文件 Akademia\Institution\Sales\Domain\Model\Payment\Payment: type: entity table: payments repositoryClass: Akademia\Institution\Sales\Infrastructure\Persistence\Doctrine\Payment\D
我正在尝试将上述代码转换为与querybuilder一起使用。 我试了很多。例如: $queryBuilder->expr()->like('title',“%”.$search\u key.%') 但它不起作用。任何人都可以帮助我 整个守则是: $result = mysqli_query($con, 'SELECT * FROM table WHERE ((title LIKE "%'.$s
使用:getScalarResult()和getArrayResult()有什么区别 在原则中使用QueryBuilder运行查询时: $query = $this->em->createQueryBuilder(); $query->select(self::SHORT_LIST) ->from(DataSetting::class, 'ds') ->andWhere('ds.'.$field.' L
我正在读《条令2》文档>事件>预删除 每次调用时都会调用preRemove事件 将其传递给 EntityManager#remove()方法。它是 对所有关联进行级联 标记为级联删除 对什么没有限制 方法可以在 preRemove事件,除非 在过程中调用了remove方法本身 冲洗操作 我正在努力处理相关实体发生的事情 用户可以 自有项目 在项目中合作 自己的托达利斯特 自有待办事项 被指派做某事 所以我想处理所有这些关系。所以我做了一些类似的事情 /** * @PreRemove */
在Symfony2中,我如何将Doctrine的实体管理器添加到自定义类或服务中 我试过$em=$this->get(“doctrine.orm.entity_manager”) 和$em=$this->getDoctrine()->getEntityManager() 两者都失败了,这导致我尝试用我的自定义类/服务扩展控制器类,但最终失败了。您需要将实体管理器服务注入到自定义服务中。您的服务定义应如下所示: my.service.name: class: my\class ar
在Zend Framework 2项目中,我们得到了两个Doctrine 2实体,我们希望从保存在数据库中的集合allready中删除一个元素 因此我们有了第一个名为FormGroupConstraint的实体: /** * FormGroupConstraint * * @ORM\Table(name="form_group_constraint") * @ORM\Entity(repositoryClass="Application\Dao\FormGroupConstraintDa
我在Symfony2/Doctrine中实现了多个关系,其中关系本身就是一个实体(这是必要的,因为我需要添加额外的列-注意,下面没有提到这些额外的列 这里有几个Q&a建议将关系作为一个实体(例如,or) 我已经通过原则:generate:entities自动生成了所有getter和setter方法(这解释了为什么它被称为addcompanye,而不是addCompany),所以我会认为这涵盖了我的单域/多域关系 到目前为止,创建一个用户和一个公司效果良好。但是,当我尝试将用户分配给公司时,我会收
我已经把文档读了好几遍,但是我遗漏了一些东西。。我好像没办法让这件事成功 场景:我有一个Tshirts实体(id,qtyTotals)和一个size实体(tshirt_id,size,qty),每次创建、更新或删除新尺寸时,我都需要通过选择所有尺寸,将它们相加并更新总数来更新Tshirts.qtyTotals 我确信我可以从我的控制器上分两步完成这项工作,但我觉得事件方法是正确的 我一直在读这篇文章,特别是2.4节 我试图使用注释:@ORM\EntityListeners({“TshirtLis
我在Symfony3和Doctrine2中有一个函数,它使用纬度和经度搜索最近的合作伙伴: public function findNearestPartner($lat,$lng) { $rsm=new ResultSetMappingBuilder($this->_em); $rsm->addRootEntityFromClassMetadata('AppBundle\Entity\Partner','p'); $sqlQuery="SELECT p.
在阅读了关于如何构建UML类图和使用UML类图的内容之后,我尝试为我即将开始的新Symfony项目构建一个我很满意的UML类图 但是,对于我定义的接口,例如: 我不清楚它们是否应该/如何作为Symfony抽象实体实现。从我所读到的内容来看,似乎有相互矛盾的观点: 然而,这似乎只是为了从其他bundle访问抽象类 人们建议不要使用抽象类,不要创建“正常”实体(即教授和学生)——尽管这不是忽视了实体的好处吗 你应该看看条令文档的一节。。。它允许你有一个抽象的“人”类,然后扩展它,使之成为一个“学生
我有两个实体城市和地区 城市以这种方式链接到区域: /** * @ORM\ManyToOne(targetEntity="Region", inversedBy="cities") * @var Region */ protected $region; 如何获取只有区域字符串且知道区域是城市关系的区域类名?在实体/object manager\Doctrine\Common\Persistence\ObjectManager上,可以调用getClassMetadata$className
我已经创建了一个实体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