天道酬勤,学无止境

entity

Symfony2 表单类型实体添加额外选项(Symfony2 form type entity add extra option)

问题 我有以下 Symfony 表单字段,它是从实体加载的下拉列表: ->add('measureunit', 'entity', array('label' => 'Measure Unit', 'class' => 'TeamERPBaseBundle:MeasureUnit', 'expanded' => false, 'empty_value' => '', 'multiple' => false, 'property' => 'abreviation' )) 如您所见,我添加了'empty_value' => ''并且一切正常。 现在,我想要的是最后有一个额外的选项来添加一个new measure unit 。 换句话说,下拉列表应该显示我的实体的所有内容、空值和其他称为new measure unit额外选项或我想称呼它的任何内容。 是否可以? 编辑:整个表单类型文件有这个: <?php namespace TeamERP\StoresBundle\Form\Type; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; class ProductType extends AbstractType { public function

2021-09-20 16:03:54    分类:技术分享    php   forms   symfony   entity

Symfony PUT 不包含映射的所有实体属性(Symfony PUT does not contain all entity properties mapped)

问题 我正在使用 FOSRestBundle 来管理我的应用程序中的 API。 所以我几乎所有的东西都可以工作,除了 PUT 方法,其中一些属性是 NULL 但它们不应该是因为实体(id 105)已经填充了它们。 看一下 putAction : /** * @ParamConverter("user", class="SoftwareBundle:User", options={"mapping": {"user": "guid"}}) */ public function putAction(Request $request, $user) { $form = $this->createForm(new UserType(), $user, ['method' => 'PUT']); $form->handleRequest($request); var_dump($user->getId()); // 105 var_dump($user->getGuid()); // 12345 var_dump($user->getEmailAddress()); // NULL (should be johndoe@example.com var_dump($user->getFirstName()); // NULL (should be John) var_dump($user-

2021-09-19 10:50:08    分类:技术分享    php   api   symfony   entity   fosrestbundle

Symfony 实体字段:manyToMany with multiple = false - 字段未正确填充(Symfony entity field : manyToMany with multiple = false - field not populated correctly)

问题 我正在使用 symfony2 和学说 2。我有两个实体之间的多对多关系: /** * @ORM\ManyToMany(targetEntity="\AppBundle\Entity\Social\PostCategory", inversedBy="posts") * @ORM\JoinTable( * name="post_postcategory", * joinColumns={@ORM\JoinColumn(name="postId", referencedColumnName="id", onDelete="CASCADE")}, * inverseJoinColumns={@ORM\JoinColumn(name="postCategoryId", referencedColumnName="id", onDelete="CASCADE")} * ) */ private $postCategories; 现在我想让用户只选择一个类别。 为此,我在表单中使用选项 'multiple' => false。 我的表格: ->add('postCategories', 'entity', array( 'label'=> 'Catégorie', 'required' => true, 'empty_data' => false, 'empty_value' =>

2021-09-18 16:39:56    分类:技术分享    php   forms   symfony   doctrine-orm   entity

实体类和持久类有什么区别?(What is the difference between Entity and Persistent class?)

问题 我正在浏览 Hibernate 文档,其中作者使用术语persistent class来指代entities 。 作者说,并非所有具有持久状态的用户定义类都是实体...... 我无法区分两者。 请建议。 回答1 Hibernate 将持久类定义为可以持久化到数据库的任何类。 有两种类型的持久类:实体类型和值类型。 所以实体是持久化类的一种。 实体类型是那些用@Entity标记的类,而值类型是那些用@Embeddable或一些基本 Java 类型(如String 、 Integer 、 Date等)标记的类。 它们之间的主要区别在于值类型不定义自己的生命周期。它们由定义其生命周期的实体类型“拥有”。 我们创建了一个包含许多值类型类的实体类型类。

2021-09-18 12:09:11    分类:技术分享    hibernate   jpa   orm   entity   persistence

@IdClass 使用 JPA 和 Hibernate 生成“实例的标识符已更改”(@IdClass Produces 'Identifier of an Instance was Altered' with JPA and Hibernate)

问题 对于使用不区分大小写的数据库模式的 JPA 实体模型,当我使用 @IdClass 注释时,我始终收到“实例标识符已更改”异常。 对于具有'string'主键的对象,当数据库中存在一个大小写的字符串并且使用相同的字符串执行查询时,只会发生错误。 我看过其他 SO 答案,它们的形式是:a)不要修改主键(我不是)和 b)你的 equals()/hashCode() 实现有缺陷。 对于“b”,我尝试使用toLowerCase()和equalsIgnoringCase()但无济于事。 [此外,似乎 Hibernate 代码是直接设置属性,而不是在发生“更改”时调用属性设置器。] 这是具体的错误: Caused by: javax.persistence.PersistenceException: org.hibernate.HibernateException: identifier of an instance of db.Company was altered from {Company.Identity [62109154] ACURA} to {Company.Identity [63094242] Acura} 问:对于包含公司“Acura”(作为主键)的不区分大小写的数据库,使用 @IdClass 我如何随后找到其他大写? 这是有问题的代码(从空数据库开始): public

2021-09-18 09:42:06    分类:技术分享    java   hibernate   jpa   orm   entity

实体框架更新嵌套对象(entity framework update nested objects)

问题 我正在尝试通过 EF 6 执行更新但遇到了问题。 我对 EF 比较陌生,所以如果问题有点模糊,请原谅我。 当我尝试更新工具表时,出现以下错误:实体类型 HashSet`1 不是当前上下文模型的一部分。 我认为这是因为嵌套对象。 有谁知道如何填充这些? 提前致谢。 请参阅我的更新和模型下面的代码。 try { var i = (from x in _entities.Instrument .Include("InstrumentAlias") .Include("InstrumentMarketData") where x.InstrumentKey == id select x).First(); _entities.Entry(i.InstrumentAlias).Property("InstrumentKey").IsModified = false; _entities.Entry(i.InstrumentAlias).Property("InstrumentAliasKey").IsModified = false; i.AccountGroupCode = src.AccountGroupCode; i.AccountKey = src.AccountKey; i.AccountType = src.AccountType; i.BBGTicker = src

2021-09-17 22:12:31    分类:技术分享    c#   entity   entity-framework-6

Cakephp 3:如何忽略特定查询的 beforefind?(Cakephp 3: How to ignore beforefind for specific queries?)

问题 我正在处理多语言帖子。 我在 PostsTable 中添加了 beforefind() 以便我可以列出当前语言的帖子 public function beforeFind(Event $event, Query $query) { $query->where(['Posts.locale' => I18n::locale()]); } 为了允许用户以不同语言复制帖子,我编写了以下功能: public function duplicate(){ $this->autoRender = false; $post_id= $this->request->data['post_id']; $post = $this->Posts ->findById($post_id) ->select(['website_id', 'category_id', 'locale', 'title', 'slug', 'body', 'image', 'thumb', 'meta_title', 'meta_description', 'other_meta_tags', 'status']) ->first() ->toArray(); foreach($this->request->data['site'] as $site) { if($site['name'] == false) {

2021-09-17 11:42:17    分类:技术分享    entity   exists   cakephp-3.0

实体框架:添加不映射到数据库的属性(Entity Framework: add property that don't map to database)

问题 是否可以将属性添加到不应映射到数据库的实体? 回答1 可能的? 当然; 将其添加到与您的实体类型匹配的自定义分部类。 有用? 不那么; 您(大多数情况下)不能在 LINQ to Entities 查询中使用它们,并且您不应该将您的实体重新用作视图模型。 回答2 您需要将自定义分部类中的属性标记为“[NotMapped]”。 希望这可以帮助。

2021-09-17 03:07:07    分类:技术分享    entity-framework   entity

在实体框架中为实体创建基类(Creating base class for Entities in Entity Framework)

问题 我想为我的所有实体创建一个有点通用的基类。 该类将具有 Save()、Delete()、GetByID() 和其他一些基本功能和属性等方法。 我对 Linq to SQL 有更多的经验,并希望在 EF 中得到一些类似的好例子。 谢谢你。 回答1 像这样: public abstract class BaseObject<T> { public void Delete(T entity) { db.DeleteObject(entity); db.SaveChanges(); } public void Update(T entity) { db.AcceptAllChanges(); db.SaveChanges(); } } public interface IBaseRepository<T> { void Add(T entity); T GetById(int id); IQueryable<T> GetAll(); } 回答2 ADO.NET 实体框架支持 Table-per-hierarchy 和 Table-per-type 继承。 我建议你从这里开始看看它是如何工作的。

2021-09-16 19:09:11    分类:技术分享    frameworks   entity   base   data-access-layer   data-access

“实体是私有的”是什么意思(如 Doctrine 官方文件中所见)?(what does “the entities are privately owned” means (as seen in Doctrine official documentation)?)

问题 我在教义文档中阅读了以下对我来说意义不大的内容: 当使用orphanRemoval=true选项时,Doctrine 假设实体是私有的,不会被其他实体重用。 这里是您可以在上下文中找到句子的链接。 学说官方文件 有人可以给我一个在实体之间的ManyToMany关系中私有实体的例子吗? 回答1 想象一下,你存储在某些用户设置Settings其连接到一个实体User通过一个一对多或一对一一个关系的实体中, Settings实体不会之中多个用户共享,也不会是如果引用的用户被删除,则重用,您可以说Settings归User私有,如果User被删除,它将成为孤儿, orphanRemoval=true通过在其“母亲” User实体被删除时删除Settings防止发生这种情况。 您可能会感兴趣的其他一些关于 SO 的问题: https://stackoverflow.com/a/27473401/4114297 https://stackoverflow.com/a/25519856/4114297 关于多对多关系,您可以对此类关系使用orphanRemoval并且 Doctrine 将简单地删除附加实体,即使它们仍然附加到其他实体。 请注意,即使此选项适用于多对多关系,但并未正式记录此类关系: 一对一:http://docs.doctrine-project.org/en/latest

2021-09-16 10:52:19    分类:技术分享    symfony   doctrine   entity