今天我开始阅读Zend\Form的功能。我从Michael Gallego那里找到了一篇文章,他在文章中解释了如何使用一些新的很酷的功能
如果我们处理的是1-1关系,那么这个例子到目前为止效果很好。教义很好地涵盖了他们
我想做的是
我想要一个选择框,而不是用textarea作为相关值
选择框应具有有效选项,具体取决于数据库中的内容
为了以后进行编辑,需要选择当前选定的值
条令不应向一个表中添加新行
正如您在上所看到的,我使用了教程中的示例,但将其缩短为产品和品牌。在我的示例中,Brands是一个
我想在我的控制器上设置EntitiesManager实例。我希望该实例在控制器上具有$this->em。这是我的配置:
module.config.php
[...]
'doctrine' => array(
'driver' => array(
'application_entities' => array(
'class' =>'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
我正在ZF2代码中使用原则2,并且我正在尝试编写更新查询。
代码如下:
$qb = $this->getEntityManager()->createQueryBuilder();
$qb->update('Application\Entity\Groups', 'group')
->set('group.state', '?1')
->set('group.modified', '?2')
只需使用Microsoft Github repo的驱动程序-它已经在测试版中运行,现在他们稳定了它-我忘了自己“回答”这个问题-很抱歉延迟。链接:
如何使用ODBC连接从PHP7上的symfony2.8连接到MSSQL服务器
在网上找不到任何东西,除了一些遗留的东西
需要改变/做什么?我知道Symfony提供odbc,我可以在通过odbc连接时仍然使用doctrine作为映射器吗?它正在工作,它已经在beta版本中工作了使用php7尝试此Im,这就是为什么没有sqlsrv驱动程序工作的原因,因
我正在尝试自定义在子窗体中生成的窗体标签
我希望显示特定比赛周中包含的足球赛程,如下所示:
- Fixture 1 : Manchester United (0) - (1) Arsenal
- Fixture 2 : Chelsea (2) - (1) Liverpool
- ...
Form/WeekType.php
class WeekType扩展了AbstractType
{
公共函数buildForm(FormBuilder$builder,数组$options)
{
$builder
我有一个DQL查询,其中包含一个仅用于排序的SELECT表达式:
选择u,(u.orderTotal/u.orderCount)作为orderAverage
来自用户u
按订单平均数排序
我必须使用这个技巧,因为到目前为止
这很好,由于超出此问题范围的原因,我只希望由以下人员返回u:
[0]=>对象(用户)
[1] =>对象(用户)
而不是包含u和orderage的嵌套数组:
[0]=>
[0]=>对象(用户)
['orderAverage']=>float
[1] =>
[0]=>对象(用
我试图重现处理多对多双向关系的自动条令机制,但引入了一个自定义联接表
我已经深入探讨了类似的问题:
但它并没有真正帮助我,因为它是绝对单向的
但这一条甚至没有提到管理关系
这很有趣。然而,尽管作者提到了它的双向需求,但他没有涉及这个案例
我知道,带有额外字段的联接表不再是一个关联,而是引用其他两个字段的第三个实体。从这句话中,很明显,我们不能期望它作为一种隐含的多对多的关联,由条令管理
但我想让这三者作为简单、直接、双向的多对多关联来工作,这意味着使用代理方法并依赖于逻辑类
代码
有一
我对Dql查询的缓存有问题,我有6行代码:
$dql = "SELECT d, c FROM \Cms\Day d LEFT JOIN d.contents c WITH c INSTANCE OF Cms\Message ORDER BY d.num ASC";
$query = $this->_em->createQuery($dql);
$result1 = $query->getResult();
$dql = "SELECT d, c FROM \Cms\Day d
哦,一点问题都没有,确实不太清楚。所以你可以更新你的问题,但我在这里学到了一些东西;)我希望它能对其他人有所帮助@jorgonor你可以举一个你的问题的例子,让你的问题更突出一点。
public function findAllProductsSoldInCountry(Country $country)
{
$qb = $this->createQueryBuilder('p');
$qb->innerJoin('p.purchases', 'pp')
我有以下实体:
<?php
namespace Application\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Category
*
* @ORM\Table(name="zf_categories")
* @ORM\Entity
*/
class Category
{
/**
* @ORM\Id
* @ORM\Column(name="id", type="integer", precis
我正在考虑第一次在项目中使用Doctrine2。在我的研究中,有一件事让我感到震惊:
<?php
/**
* @Entity(repositoryClass="BugRepository")
* @Table(name="bugs")
**/
class Bug
{
//...
}
对于您的具体情况,有存储库即服务:
<?php
/**
* @Entity
* @Table(name="bugs")
**/
class Bug
{
//...
}
将
我对与医生的联系有问题
我的实体映射是:
品牌:
型号:
/**
* @ORM\Entity
*/
class Model
{
/**
* @ORM\Id
*/
protected $id;
/**
* @ORM\Column(type="string")
*/
protected $name;
/
我的数据库中有102条记录。如果我设置了->maxResult(100),我将有两个页面,一个页面可以看到100,第二个页面可以看到2点击。
现在,如何获得那些2或100结果?原则的setMaxResults($maxResults)类似于SQL中的LIMIT
要获取第二页和其他页,应在SQL中设置偏移量。条令对此有setFirstResult($offset)
尝试使用条令构建查询,出现错误:
实体没有名为某个\u id的字段或关联
代码(t是测试表,它有一些_id,我用Example.id=test.some _id上的示例连接它):
->from('AppBundle:Test','t')
->leftJoin('AppBundle:Example','e','WITH','e.id=t.some\u id')
测试实体:
/**
* @var integer
*
* @ORM\Column(name="some_id", type="int
我已以用户身份登录并尝试删除同一帐户。但是得到下面的错误,而不是重定向到登录页面的错误弹出。此问题发生在symfony 3中。我在用户实体中使用了序列化和反序列化方法
错误:
无法从不包含标识符的EntityUserProvider刷新用户。用户对象必须使用其自己的标识符进行序列化,该标识符由条令映射
请建议
我有3个实体:
使用者
会议
会话进程
以及一些协会:
双向多用户对多会话进程(会话进程有一个$users数组,存储会话中涉及的用户-导师和学生。用户实体还通过数组$sessions引用正在进行的会话)
双向一个会话到多个会话进程(给定会话可能有多个正在进行的会话,而正在进行的会话使用$Session引用其相应的会话)
我想使用DQL获取给定用户正在进行的会话,按Session中名为$num的字段排序,因此我想我需要一个DQL,如:
SELECT s FROM SessionInProgress
我试图使用leftjoin的行数大于零的条件返回一个结果
这就是我尝试过的:
$qb->innerJoin('game.extraCountries', 'country')
->andWhere('COUNT(country.country_code) > :zero')->setParameter('zero', 0);
$qb->innerJoin('game.extraCountries', 'country')
->addSelect('COUNT
我有两个表/实体client和site,它们通过联接表client\u site组合成多对多关系。以下是如何设置我的实体
这是客户表实体
/**
* @Entity
* @Table(name="client")
*/
class Client
{
/**
* @Id @Column(type="bigint")
* @GeneratedValue(strategy="AUTO")
*/
private $id;
/**
我正在使用Doctrine2开发我的php软件。使用它很简单,但我有一个小问题,我知道在这种情况下什么是最佳实践。也许你能帮我!我会非常感激你的
情况:
我有2个实体(用户和联系人)
用户可以包含一些联系人
实体(表)联系人有一个标记为mainContact的字段,用于定义它是否是用户的主要联系人
只有一个触点可以是主触点(主触点=1)
有问题:
我希望当我坚持联系时:
如果此联系人的main contact=1,则所有其他与该联系人关联的联系人
应将用户更新为main contact=0
我在查询生成器中使用以下代码来选择分数值的平均值以及该平均值所属的类别实体:
$queryBuilder = $this->createQueryBuilder('s')
->resetDQLPart('select')
->select('AVG(s.score) as score, partial c.{reviewCategoryID} as cat')
->setParameter('status', ReviewStatusType::A
有可能在学说上解决这个问题吗?我有一个实体,叫做Comment,这个实体与另一个实体调用方Author有关系。该关系通过两列建立:作者id和作者类型
/**
* @ORM\Entity
* @ORM\Table(name="comments")
*/
class Comment
{
/**
* @ORM\ManyToOne(targetEntity="Entities\Authors\Guest", cascade={"persist"})
* @ORM\Joi
我有与其他实体具有1:1或1:M关系的实体。但是,所有关系都可以为空
我想将一些操作代理给相关实体。我在下面举个例子。问题是,如果这个关系仍然不存在,我有null,所以我经常检查null,这显然是错误的。我想做的是用空对象水合我的实体。原因:
条令知道应该为字段创建什么实例。所以它应该只提供空实例而不是null
我不想用初始化来填充代码,比如
$object->setSettings(新设置感知)
是否应该代理请求是有争议的,但我想对客户机代码隐藏DB表示。如果我的方向完全错了,请给我指出正确
我使用ORM
我创建的实体没有控制台。看起来像
Trololo\Event:
type: entity
table: events
readOnly: false
id:
id:
type: guid
generator:
strategy: UUID
fields:
dateCreated:
type: datetime
nullable: false
name:
type:
我有一个实体,它本身有一个OneToMany关系(注意,它使用单表继承)
我从api创建这个实体,然后将其持久化。如果它已经存在,我使用$em->merge($post)来更新它
这是唯一有效的方法。我从该方法获得的实体与我想要的完全相同,但不会更新注释的外键。如果我再次查询帖子,注释数组仍然包含应该删除的旧实体
一个快速的解决方案是在合并之前删除所有评论,但我想要一个更好的解决方案
/**
* @ORM\Table()
* @ORM\Entity()
* @ORM\Inheritance
我想检查数据库中是否有值的子字符串,在本例中为$name
我已选中,但子字符串要求我将开始索引设置为参数
与通配符一样,通配符似乎也没有帮助,因为它与我想要的正好相反:它检查输入是否是db值的子字符串
所以我想检查db值是否是变量$name的子字符串。到目前为止,我试过:
$qb = $this->getEntityManager()->createQueryBuilder();
$qb
->select('d')
->from('MyBundle:MyE
我有数据包含我想通过脚本Zend在Mysql中插入的日期,我收到以下消息错误:
致命错误:对中的非对象调用成员函数format()
C:\wamp\www\imprimvert\vendor\doctrine\dbal\lib\doctrine\dbal\Types\DateTimeType.php
在线53
“dateCreation”=>string“2013-10-2410:01:03”
“FirstDateAssignment'=>字符串”
我怎样才能解决这个问题
提前感谢正如@Alex
假设以下两个表为“用户”和“朋友”
'user'
column: id
column: name
'friends'
column: user_id
column: user2_id
friends表中的两列都对应于user table id列
现在,我可以简单地通过以下部分名称查找用户:
$query='jim';
$result=$em->getRepository('\User\Entity\User')
->createQueryBuilder('u')
我有这种数据库设计,在某些情况下,条令2会按照插入顺序做出正确的决策,有时则不会
我有一个自动导入过程,在数据提供者更改数据时导入和更新数据。字段item.something\u ocated\u item\u history\u id是导致问题的新字段
开始导入时
第一步。数据库中没有数据,我创建了一个项和一个项的历史记录,其中项的历史记录。项的id是项的id,项的id是项的id。发生了什么事项的历史记录id为空。现在我做了刷新,Doctrine可以计算出它需要在item_历史之前插入ite
我正在准备一个控制台应用程序,并使用EntityManager的容器连接到数据库。这个很好用。代码如下
protected function execute(InputInterface $input, OutputInterface $output)
{
// get Doctrine
$this->em = $this->getContainer()->get('doctrine.orm.entity_manager');
// find all d
在Symfony 5.1.10,ORM 2.7中,当我删除一对夫妻关系中的“许多”中的一个时,它也会删除我不想要的“一”
情况如下:一个表quote引用实体quote,它在一个表language上有一个language\u id外键(英语、西班牙语、法语……)
quote.language\u id不能为空。语言id上有一个FK,在删除限制上有,(如果有任何引用,则不能删除语言)
删除报价单的代码:
/**
* @Route("/{id}", name="quot
我有一个奇怪的问题。以下是错误消息:
调用未定义的方法MyProject\BlogBundle\Entity\Blog::findOneById()
我已经设置了映射,实体类是使用控制台创建的,我已经更新了数据库中的模式。是什么导致了这个问题
我用的是symfony2。这是一句话:
$blogRepo = $this->get('myproject.blog.repository.blog');
$blog = $blogRepo->findOneById($id);
有什
我试图编写一个查询(使用子查询),但不知道如何在子查询中设置限制。
我的问题是:
$query_ids = $this->getEntityManager()
->createQuery(
"SELECT e_.id
FROM MuzichCoreBundle:Element e_
WHERE [...]
GROUP BY e_.id")
->setMaxResults(5)
;
$
在我的模型中,我有
Terrain.php
Lot.php
很多
我试图删除一个地形,但以前我删除了所有与之相关的地块。当我尝试删除地形时,我得到一个错误SQLSTATE[23000]:完整性约束冲突在删除时,您仍然有一个从地块到地形的引用,这就是为什么您有完整性约束冲突
试试这个:
/**
* @ORM\Entity
* @ORM\HasLifecycleCallbacks()
*/
class Terrain
{
/**
* @var lots
*
* @OR
是否可以设置两个对象之间的关联,例如article和comment,如下所示:
comment.setArticle(10) // 10 is the id of article
自动生成的setArtcicle方法当然会作为参数对象,但也许有一些技巧可以做到这一点
从性能的角度来看,这对我来说非常重要——我希望在设置关联时避免总是进行SQL调用。在我的情况下,会有很多这样不必要的查询。您可以使用:
$comment->setArticle($em->getReference('A
我对教义非常陌生,所以对于那些更有经验的人来说,这似乎是一个相当明显的问题
我正在编写一个数据导入工具,它必须检查导入的每一行是否包含有效数据。例如,该行引用了一个产品代码,我需要检查是否存在带有该代码的预先存在的产品对象。如果不是,则将该行标记为无效
现在我可以很容易地为每一行做这样的事情
$productCode = $this->csv->getProductNumber();
$product = $doctrine->getRepository('MyBundle:P
当我执行:
doctrine orm:schema-tool:create
我得到:
'"@php_bin@"' is not recognized as an internal or external command, operable program or batch file.
我通过将bin\doctor.php更改为以下内容来修复此问题:
php "C:\Program Files\DoctrineORM-2.2.2\bin\doctrine.php" %*
现在,我走得更远了
我有两个实体,图片和标签,有很多关系。这意味着3个表格:图片、标签和图片标签
我想选择一些图片并在同一查询中加入它们的标记。如何在DQL中实现这一点?查询相当简单,主要是关于:
$query = $em->createQuery("Select * from pictures p
join pictures_tags pt on p.pictureid=pt.pictureid
join tag on tag.id=pt.tagid");
$users = $query->get
我正在尝试使用Zend Framework 2和Doctrine 2对用户进行身份验证
如何在控制器的操作方法中设置或更改credentialCallable选项
$adapter = $this->getAuthService()->getAdapter();
// how to set credentialCallable option here
$adapter->setIdentityValue($data['username']);
$adapter->setC
我有一个问题模型和一个问题模型,通过一个多个关系连接起来。
现在,我正在构建一个可拖动的UI,jQueryUI可以将问题添加到问题库中
在右侧,每个问题项都表示为一个隐藏的文本字段,其中包含其_标识:
<f:form.textfield property="questions" name="questions" value="{question}" />
在左侧,我有一个表单作为问题项的放置目标。
提交此表单时,flow3将响应此错误消息:
1297759968:目标类型的属性映射
我将实体与
id:
id:
type: string
length: 36
id: true
generator:
strategy: UUID
所以我没有setId()-方法。在测试时,这是我创建实体的方式:
$person = new Person();
$person->setFirsname('Foo');
...
$manager->persit($person);
// no
得到了这个问题:
$criteria = new \Doctrine\Common\Collections\Criteria();
$criteria
->where($criteria->expr()->eq('collection', $post['id']))
->andWhere($criteria->expr()->eq('path', ''))
->orW
用独白记录条令查询的最佳实践是什么?我一周前开始使用symfony。在您的配置中,将doctrine.dbal.logging设置为true
# app/config/config.yml
doctrine:
dbal:
driver: pdo_mysql
# ...
logging: true
事实上,默认情况下,查询是通过kernel.debug参数设置值记录在dev环境中的,例如记录:%kernel.debug%
看
我有以下实体场景:
PhyVar可以被多个PhyVarSelection引用。当我删除特定的PhyVarSelection时,如果没有其他PhyVarSelection引用该PhyVar,我想删除该PhyVarSelection
oncascade={“persist”,“remove”}onPhyVarSelection将尝试删除它,即使其他选择仍在引用它oprhanremovation=true根据不是正确的答案,但我可能误解了它
手动检查是实现这一点的唯一方法吗
class PhyVarS
我们在\doctor\DBal\Types\type::addType()中添加了一个名为enumFooType的枚举列类型
运行vendor/bin/doctor模块迁移:diff以生成将删除所述列的迁移时,抛出一个错误:
[Doctrine\DBAL\DBALException]
Unknown column type "enumFooType" requested. Any Doctrine type that you use has to be registered with \Do
我正处于一个不幸的境地,要维护一个TYPO3项目。Typor3 ORM使用起来非常缓慢和笨拙,因此我想在我的一些读取操作中使用它
TYPO3有一种非常奇怪的存储翻译的方式,因此我的表看起来像这样:
> products
id
---
123
64
37
> product_names
product_id | locale | name
----------------------------------
64 | en | My Product
我在一个实体(用户)中有一个实体(组)数组,在我的查询生成器中,我希望按角色检索用户
我正在尝试这样做:
public function findUsersByRole($role){
$qb = $this->createQueryBuilder('u');
$qb->select('u')
->where('u.roles LIKE :role')
->setParameter('role', $role);
re
我有以下实体
实体产品:
namespace App\Model;
use Nette\Object;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
/**
* @ORM\Entity
*/
class Product extends Object
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
我正在将DFLYDEVDOCTRINEORMServiceProvider与Silex一起使用。我创建了一个简单的模型作为概念证明
我能够从我的Yml文件中构建模型PHP类-但是当我尝试生成模式、填充数据库等时,所有这些都崩溃了,我得到了错误消息:
[Doctrine\Common\Persistence\Mapping\MappingException]
Class 'DistrictType' does not exist
我必须承认,我正在与PHP名称空间以及它们与条令映射和文
在Symfony中,我尝试创建一个文档管理系统,并创建与文档的关系
这些文档可以属于用户或组织(也有用户)。因此,与github类似,存储库可以属于用户(github.com/iamtheuser/coolrepo)或组织(github.com/myorg/coolrepo),此文档可以属于用户或组织
现在,为了做到这一点,我创建了一个抽象类DocumentableDocumentable与Document具有多对一关系。组织类扩展了文档,而用户类也应该扩展文档
但是我使用的是FOSUserBu
我知道ODM的目的是映射,但我也很好奇是否可以保存JSON对象而不将其映射到任何类。或者将其映射到一个类,但只有一个对象值$object
当我有一个对象数组时,我已经设法做到了这一点,例如:
[
{
"id":28,
"Title":"Sweden"
},
{
"id":56,
"Title":"USA"
},
{
"id":89,
"Title":"England"
}
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 34 页