mysql - 直接在 MYSQL 中建立左表和右表之间的关系是一种好习惯吗?
问题描述
下面是我在 MySQL 中的关系数据库的样子:
[House]
id
street_id
[Street]
id
city_id
name
[City]
id
province_id
name
[Province]
id
name
有了这个结构,当我有一个房子的 ID 时,我可以按照 Laravel Eloquent 的关系链接方式获取省份名称,如下所示。
$house = House::where(['id' => 1])->with('street.city.province')->firstOrFail();
$province = $house->street->city->province;
在某些情况下,我不需要Street
andCity
表中的数据。我只需要知道Province
房子在哪里。House
将表直接与表连接如下是一种好习惯Province
吗?
[House]
id
street_id
province_id
通过这样做,我可以直接获得省,而无需链接street
和city
如下。
$house = House::where(['id' => 1])->with('province')->firstOrFail();
$province = $house->province;
House
这样做是一种好习惯,还是因为已经被Street
by连接而过度杀戮street_id
?
解决方案
推荐阅读
- pandas - TypeError:仅对 DatetimeIndex、TimedeltaIndex 或 PeriodIndex 有效,但获得了“Index”实例
- ionic-framework - Mobilefirst 8 通过获取资源/手动触发来延长登录超时
- python - 测试一个值是否在两个列表之一中
- php - 在中间件中获取当前授权用户
- python - 当我“导入 nltk”时显示 selectSelector 错误
- python - Networkx 两点层的最短路径
- bash - 使用 sed 将第一个字母转换为小写
- java-8 - java.lang.IndexOutOfBoundsException:索引:0,大小:0 Java 8
- sql - 将名称的中间值删除到其他列中
- php - 如何在 PHP 中使用 preg_match 从字符串创建数组