草庐IT

relationship1

全部标签

php - 拉维尔 4 : How to get selected/specific columns in a many to many relationship?

我想获取与特定对话相关的所有用户。数据透视表有user_id和conversation_id列。user_id和conversation_id分别引用user和conversations表中的id列。所以我做到了:Conversations::find($conv_id)->users()这没问题,但它会返回相关用户的所有详细信息。根据上面的代码,如何只返回用户的某些列,例如id和name?附言此外,我知道我可以通过为数据透视表创建一个模式来做到这一点,但这似乎有点矫枉过正。为数据透视表创建模式是一种好习惯吗?我试过了Conversations::select('id','name')

php - 具有 N :M relationship (including relationship) 的重复表

在现有的网络应用程序(PHP/MySQL)上工作,我得出了这一点:我有2个表存储名称和类型ID。它们之间的关系是NN我之间有另一个表。(见图)我有一个名为“category”的最后一个表,没有图片。我要做的是:将id_category=1的契约(Contract)和客户复制到具有相同值且id_category=3的契约(Contract)和客户。以及复制它们之间的关系。到目前为止,我已经设法将所有契约(Contract)和客户分开,使用:INSERTINTOcontract(t_name,id_category)SELECTt_name,'3'WHEREid_category=2INS

mysql - 复杂的 M :N relationship with MySQL tables

我有以下表格:表:新闻字段:uid、标题、类别、日期时间、隐藏、删除表:categories_mn字段:uid_local、uid_foreign表:类别字段:uid、parentcategory、name、image每个新闻条目都可以分配到几个不同的类别。我想要实现的是获取最新的3条新闻,并显示该条目分配给的所有类别的图像(并分配图像)像这样:title|catimages|------------------------------Post7|cat1.jpg|Post6||Post5|cat1.jpg,cat3.jpg|------------------------------

mysql - 不能有 "nonidentifying"N :M relationship?

我的数据库ERM(实体关系模型)有一个TEACHER实体类型,它与SUBJECT_MODULE实体类型相关(因为不同的模块每个科目中的内容都由不同的教师教授,并且对于某些模块,甚至每个模块中的不同章节都可以由不同的教师教授)通过TEACH关系类型。这是一个N:M关系,因为每个教师可以教授多个学科模块,而每个模块可以由多个教师教授。但在我看来不是识别关系,因为主题模块不依赖于教师来唯一识别;如果您不同意这一点,请说出来。但来自thistutorial(虽然它只是说,“识别关系通常用于从多对多关系创建的连接表。”),并发现MySQLWorkbench的ERD建模工具仅包含一个工具来建模M:

php - 活字 : Category relationships

我想知道MovableTypeCMS中Category的关系。目前,我有2个类别,名为“CategoryA”和“CategoryB”。我有一个名为“BlogA”的博客。“A类”和“B类”在“博客A”中。当我在下面创建“条目1”时“博客A”,我为“条目1”选择了“类别A”。但是当我检查数据库时,我可以看到“mt_entry”表下的列名“entry_category_id”是“NULL”。我想做的是,我想检索“类别A”下的每个条目。请让我知道是否应该在MovableType数据库下的不同表格中搜索特定类别下的那些条目。提前致谢。 最佳答案

sql - 存储(和访问)历史记录的最佳方式是什么 1 :M relationships in a relational database?

假设的例子:我有汽车和车主。每辆汽车在给定时间属于一个(并且只有一个)车主,但所有权可以转让。车主可以在任何时候拥有零辆或多辆汽车。我想要的是将历史关系存储在MySQL数据库中,以便在给定任意时间时,我可以查找当前的汽车分配给车主。即在时间X(X可以是现在或过去的任何时间):谁拥有汽车Y?所有者Z拥有哪些汽车(如果有)?在SQL中创建M:N表(带有时间戳)非常简单,但我想避免相关子查询,因为该表会变大(因此性能会受到影响)。有任何想法吗?我觉得有一种方法可以通过将这样的表与自身连接起来来做到这一点,但我对数据库的经验并不丰富。更新:我想避免在每行中同时使用“start_date”和“e

php - Laravel Eloquent : How to select not attached records in many to many relationship?

我在用户和书籍之间建立了多对多关系。如何选择所有不属于特定用户的书籍?简单但丑陋的方法是加载所有书籍,加载所有附属于用户的书籍并比较集合。但必须有一种优雅的方式,我就是想不通。可以使用查询生成器和一些连接来完成,但是如何使用Eloquent来实现呢? 最佳答案 您可以为此使用whereDoesntHave():$userId=1;$books=Book::whereDoesntHave('users',function($q)use($userId){$q->where('user_id',$userId);})->get();此方

php - Laravel Eloquent Relationship - 向多个表中插入数据

我有以下结构:3个表:电影、Actor、流派电影表架构:Schema::create('movies',function(Blueprint$t){$t->increments('id');$t->string('title');$t->integer('genre_id')->unsigned();$t->foreign('genre_id')->references('id')->on('genres');$t->string('genre');$t->timestamps();});流派表架构:Schema::create('genres',function(Blueprint$

SQL SELECT 与 m :n relationship

我在用户和标签之间有m:n关系。一个用户可以有m个标签,一个标签可以属于n个用户。表格看起来像这样:USER:IDUSER_NAMEUSER_HAS_TAG:USER_IDTAG_IDTAG:IDTAG_NAME假设我需要选择所有具有标签“apple”、“orange”和“banana”的用户。使用SQL(MySQLDB)实现此目的的最有效方法是什么? 最佳答案 SELECTu.*FROM(SELECTuser_idFROMtagtJOINuser_has_taguhtONuht.tag_id=t.idWHEREtag_nameIN

php - 更改 Doctrine 2's ManyToMany relationship' s 中间表的字符集和引擎

我正在Symfony2中的两个实体之间建立这种多对多关系,并希望链接表为charsetlatin1和engineMyISAM(它们默认为UTF-8和InnoDB)。他们在这里:实体\命令实体\付款如您所见,我知道如何为我的实体表正确设置此信息,但我该如何为paiement_commande表做准备?我试过:/**@ORM\JoinTable(name="paiement_commande",options={"collate"="latin1_general_ci","charset"="latin1","engine":"MyISAM"})*/private$commandes;但是