问题标签 [table-relationships]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
codeigniter - Code Igniter 模型与模型之间的关系
在 CI 中,如何将模型相互关联?我现在有四个模型,Users、UsersDepartment、UsersToDepartment、UserStatus,我需要加入这四个模型才能获取所有数据。
我的控制器中有这段代码可以从用户表中选择所有用户数据:
Users表中保存的user_status只有status_id,所以我需要连接到UserStatus表来获取users_status_id的等效名称。我需要知道用户所属的组列表。所以我需要根据Users.userid从UsersToDepartment表中获取。然后在 UsersDepartment 表中获取等效的组名。请参阅我的图表以进一步解释。
我知道在原生 PHP 中,这可以通过使用 join 来完成。在 CI 中是如何做到的?
我知道yii,你可以这样做
CI也有可能吗?
aggregate-functions - 跨多个表的 Django 查询中的表达式聚合
是否可以从Django ORM 查询中的相关表中计算字段表达式(例如:减法)的聚合(例如:总和) ?
有关我要实现的目标的完整示例,请参阅此工作SQL Fiddle。我把它分解成两个问题(另一个在这里)。在这种情况下,我有一个Sequence
表示数字序列的模型,以及一个Part
表示此序列中的“链接”的模型:
因此,每个Part
代表一个delta,它是序列中两个值之间的差异。我有一组(不连续的)部分,想计算这些增量的总和。像这样的东西:
但是在单个查询中(原因是我想将其用作更复杂查询的子查询)。在 SQL 中很容易做到这一点:
我不知道如何使用 Django ORM 来做到这一点。我可以为单个值做到这一点:
但不适用于涉及多个值的表达式。F()
尚不支持使用,所以我正在寻找另一种方法。我还查看了这个问题,这也是关于聚合中的表达式,但接受的答案(使用extra
)不适用于我的案例 AFAIK,因为我感兴趣的字段不在同一个表中,而是在一个相关的表中.
这是一个 SSCCE,如果有人想尝试一下:下载或浏览。它具有与上面链接的SQL 小提琴相同的模型和数据。
mysql - 对于这个 CakePHP 应用程序,我的模型关系应该是什么?
我无法弄清楚如何构建它。这是我的应用程序:
这是一个游戏网站...说游戏是“单词搜索”、“数独”和“填字游戏”。
每个游戏都有很多谜题。所以有 100 个左右不同的单词搜索可以玩,100 个左右不同的数独游戏等等。
每个游戏也有许多模式。因此,每个单词搜索有 5 种左右的方法(定时、不定时等),5 种玩数独的方法等。
每个游戏模式拼图组合都有许多高分。因此,如果您定时玩 wordsearch #3,则会出现某个高分表。如果您玩同一个不计时的谜题,则会出现不同的高分表,如果您玩 #4 计时,则会出现第三个高分表,依此类推。
最后,每个高分都有一个用户。
我最初的制作方式是每个游戏都有很多谜题和模式,每个谜题都有很多高分,每个高分都有一个用户。正如您可能看到的那样,这没有多大意义,因为为什么高分属于拼图,而不是模式?当我显示高分时,我会显示游戏->拼图->高分,并添加高分模式=当前模式的条件。我没有理由需要有条件,因为关系很清楚。
所以这就是我所拥有的:
我意识到构建这个的更好方法是与谜题和模式建立 HABTM 关系。所以每个游戏都有很多mode_puzzle,每个mode_puzzle都有一个mode,一个puzzle,还有很多highscore。
所以可以修改为:
这样做的问题是,现在当我想向游戏添加新模式或向游戏添加新谜题时,我必须处理这个我必须手动创建的繁琐新表,即使它应该可以在不创建整个新表的情况下建立这种关系。对于每款游戏,任何模式都可以搭配任何谜题,那么为什么我必须手动创建这个表格呢?
人们建议使用 bake 但从我所见 bake 自动生成模型,但我需要表本身自动生成。
我有一种感觉,解决方案与连接或其他东西有关,但我对 MySQL 连接或 cakephp 如何处理它们或类似的东西没有经验。人们还建议说每个拼图有很多模式,每个模式都有很多高分,但我不想这样做,因为每个拼图有很多模式或每个模式有很多拼图之间没有区别......而且我正在缓存整个结构,所以如果我必须为每个谜题重复每种模式,反之亦然,数组会变得很大。有没有人可以解决这个问题?
mysql - MySQL 约束/级联:这可行吗?
我有一个表 - 线程 - 和另一个 - 帖子。
每个线程就像一个主题,帖子是回复。如果一个话题被删除,所有相关的帖子都需要被删除。
所有帖子都有一个 id 和一个 thread_id 字段。这就是我所拥有的,只是想知道这是否正确。
这需要反过来吗,还是完全错了?
php - Laravel Eloquent ORM:使用 belongs_to() 的一对多问题
我在访问 Laravel 中的关系时遇到问题。与这个问题相关,我有两个表,messages
并且users
.
该messages
表如下所示:
该users
表如下所示:
和列都是整数,对应于user_from
发送消息的用户(主键)或消息发送给的人。user_to
id
Message
我的模型的相关部分如下所示:
User
我的模型的相关部分如下所示:
在一个视图中,我试图访问写消息的用户,编写如下代码:
Trying to get property of non-object
这会在那一行引发错误。我知道该$message
对象已定义,因为除user_from
和之外的所有其他属性user_to
都已定义并完美打印出来。我已经多次阅读文档,但我无法弄清楚我在这里做错了什么......有人坚持吗?这似乎是一个教科书示例,但它不起作用。
我将数据传递给视图的方式是:
foreign-keys - 表之间的基数和关系
有一个名为 的表Department
,其中显示了大学的各个部门。
还有一个名为 的表Branch
,显示了各个分支(如电气、计算机科学、机械、汽车、法律、文学等)
条件:
- A
Department
可以有任意数量的Branch
es。 - A
Branch
可以关联到 singleDepartment
。
Department
这意味着:之间的基数Branch
是“一对多”。
现在的问题是,在这种情况下,如果我将dept_id
(表的属性:)Department
作为主键。我如何能够关联多个branch_id
(表的属性:)Branch
,因为如果我这样做,我可能会违反其dept_id
自身的主键条件。
如何处理基数和使外键齐头并进?
php - Mysql 一对多的关系。按第二个表中的行数排序
我在 php 和 mysql 中创建了一个投票系统。当用户对 id 进行投票时,会在引用 FK media_id 的“votes”中插入一条记录。然后,当我显示条目时,我使用此查询来获取每个条目的票数:
这很好用,但我希望能够按他们拥有的票数对结果进行排序。最好只使用一个查询。我怎样才能做到这一点?
这些表的结构如下:
谢谢!
mysql - 多态关系向后查询laravel 4
我一直在网上搜索答案,但没有找到任何答案,所以这就是问题所在:
我有 3 张桌子:
活动 锦标赛 联赛
事件表:id eventable_id eventable_type(联赛或锦标赛)
锦标赛表:id 名称
联赛表:id 名称
我想要做的是获取名称 = 事件名称的事件。
我试过了:
没有任何成功。我试过了:
$event = Events::eventable()->where('name', '=', $event_name)->first();
没有成功,我尝试了很多不同的方法,我就是想不通....
谢谢,阿拉
sql - MS Access - 通过存储的 ID 链接到记录
我在 Access 中设置了几个表,如下所示(请原谅稍微多余的示例内容):
表 1 是包含记录且不检索其他信息的基表。例如,它可以存储某人的名字和第二名,以及自动编号 ID。
表 2 包含的记录,除其他外,还包含一个链接到表 1 的字段并存储其中保存的一条记录的 ID。通过查找向导,我可以选择使用表 1 中的所有字段,将表 1 记录的 ID 存储在表 2 字段中,并在表单的组合框中显示名字和第二个名称,以便更直观地选择记录。
在表 3 中,我需要存储表 2 中的一条记录的 ID。但是,我还想在表单组合框中再次显示存储 ID 的相关记录(在表 1 中)中的名字和名字在表 2 中。例如,我不能选择使用表 2 中的 PersonDetails 字段,因为这只是将 ID 号放入组合框中 - 我需要执行以下操作:
这可能与 Access 中的查找向导有关,还是我必须查看查询或 VBA?
谢谢。
ms-access - ms access中的多对多关系
我有一个数据库(用于宠物看护公司),其中包含以下表格:
- 顾客
- 紧急联络人
- 电话号码
- 电话类型
电话号码存储在一个单独的表中,以便为每位客户有效存储几乎无限数量的电话号码。除了主键之外,电话号码表还存储客户 ID 和电话类型 ID。我的问题是 - 允许紧急联系人与电话号码记录具有相同功能以向电话号码表“紧急联系人 ID”添加另一个字段的最佳方式是什么?或者我应该将紧急联系人存储在与客户相同的表中(并将其重命名为个人)?如果是这样,请告诉我如何在同一个表中的记录之间创建关系。
非常感谢,杰西卡