草庐IT

多对多

全部标签

php - 查询 Laravel Eloquent 多对多,其中所有 id 都相等

我创建了一个基于Laravel的项目,并拥有以下表:companies、attributes和attribute_company相关的多对多关系attribute_company用作连接companies和attributes表的数据透视表。我从客户端获得了一组attribute_id,我需要获得完全具有所有属性的公司的结果。我找到的唯一解决方案是像这样在内部查询whereHas和whereIn:Company::whereHas('attributes',function(Builder$query)use($atts_ids){$query->whereIn('attribute_

php - Doctrine 多对多插入

我有一些问题。我正在研究并尝试所有建议,但没有一个工作。我最终得到:Argument1passedtoEntity\User::addCategories()mustbeaninstanceofEntity\Category,stringgiven,我有manytomany关系,用户,user_category和类别用户category=new\Doctrine\Common\Collections\ArrayCollection();}publicfunctiongetCategories(){return$this->categories;}publicfunctionaddCat

php - Doctrine 2 与连接表中附加列的多对多关系

所以,我一直在使用doctrine玩了一段时间,并在一些基本项目中使用了它,但我决定回去深入研究它能做什么。我现在决定切换到symfony2作为我选择的框架,并且正在更深入地研究doctrine2可以做什么。我一直在努力解决的一件事是Doctrine中的多对多关系。我开始构建一个食谱系统,并研究食谱和配料之间的关系,这给了我3个实体,食谱、食谱配料和配料。我不能使用直接多对多关系的原因是因为我想在连接表中为每种成分存储两个额外的列(单位和数量)。我目前遇到的问题是实体仍然存在,但未插入连接表中的recipe_id。我已经尝试了我能想到的一切,并浏览了每一个线程和网站寻找答案。我确信我很

php - 在 Laravel Eloquent 中更新一对多关系

假设我在Laravel的Eloquent中有以下两个模型之间的关系:hasMany('Setting');}publicfunctionsettingSet($key,$value){\Setting::setConfigItem($key,$value,$this->user_id);}}//settting://-setting_key//-setting_value//-user_idclassSettingextendsModel{publicfunctionsetConfigItem($key,$value,$user_id){//Note:I'veprovidedthisc

PHP & Mysql 更新多对多关系与复选框形式

我有多对多表结构和更新复选框表单。目标是使用users_project表将users表与projects表相关联。这样每个项目可以有很多用户,每个用户可以有很多项目。每个用户编辑页面上的表单看起来像这样project1project2下面是三个表的例子。用户表+----+-----------+|id¦username¦+----+-----------+|1¦user1¦|2¦user2¦+----+-----------+项目表+----+-----------+¦id¦title¦+----+-----------+|1¦project1¦|2¦project2¦+----+--

php - 具有一对多关系的 Laravel 可修订模型

revisionable是否可以跟踪一对多关系的变化?例如:模型:用户。模型:帖子。用户模型使用Venturecraft\Revisionable\RevisionableTrait;并且与Posts有hasMany关系。如果添加或更新了帖子,是否可以在帖子所属的用户下通过修订进行跟踪?提前致谢 最佳答案 我想出了一些办法。然而,这不是最优雅的解决方案,所以如果有人能帮助我清理它就太好了(尤其是unset困扰着我)。我的解决方案将在模型所属的表中创建重复项。我不知道这是不是你想要的您需要做的第一件事是在适当的表中添加可为null的日

php - Doctrine2 一对多/多对一关系

因此,1:M/M:1关系不像M:M关系那样工作(很明显),但我认为通过适当的配置,您可以获得与M:M关系相同的输出。基本上,我需要向path_offer添加另一个字段(位置)。在我尝试使用$path->getOffers()之前,我认为它可以正常工作,它返回了一个PersistentCollection而不是我认为是强制的(一个ArrayCollectionofOffers)。无论如何,在当前表中,我有两个条目:一条路径的两个报价。$path->getOffers()正在返回一个PathOffer的PersistantCollection,它只有一个Offer被附加,而没有两者。我的问

php - Sonata Admin与文件上传的一对多关系(appendFormFieldElement)

我目前正面临SonataAdminBundle、一对多关系和文件上传方面的挑战。我有一个名为Client的实体还有一个叫ExchangeFile.一Client可以有几个ExchangeFiles,所以我们这里是一对多的关系。我正在使用VichUploaderBundle用于文件上传。这是Client类:/***@ORM\Table(name="client")*@ORM\Entity()*@ORM\HasLifecycleCallbacks*/classClientextendsBaseUser{//SNIP/***@ORM\OneToMany(targetEntity="Excha

php - 原则一对多关系不会保存 - 违反完整性约束

我正在尝试使用DoctrineORM关联。我已经阅读了几个教程和在线文档,但它不起作用,老实说我不确定我在这里做错了什么。似乎我对Doctrine的实验很成功或失败。如有任何帮助,我们将不胜感激。我想要一个User实体和UserHistory实体,其中包含单个用户的多行。这对我来说听起来像是一对多。我不一定需要它是双向的。我遇到的问题是,在保存用户时向用户添加历史记录项会导致错误,因为user_history表中未设置user_id列。实体:#Entity\User.phpsetHistory(newArrayCollection());}publicfunctiongetHistor

php - 需要帮助理解 Doctrine 多对多自引用代码

我无法破译来自doctrinedocumentation的这段代码/**@Entity*/classUser{//.../***@ManyToMany(targetEntity="User",mappedBy="myFriends")*/private$friendsWithMe;/***@ManyToMany(targetEntity="User",inversedBy="friendsWithMe")*@JoinTable(name="friends",*joinColumns={@JoinColumn(name="user_id",referencedColumnName="id