Php 属于许多企业的一个职位

Php 属于许多企业的一个职位,php,mysql,database,laravel,Php,Mysql,Database,Laravel,我有一个结构与下面类似的数据库(如果图表不完全清楚,我深表歉意) 统计数据、Favorite_likes和category_链接都与posts表有多态关系。一个企业可以有很多帖子,一篇帖子可以有很多日期 只有在“发布日期”表中有日期的帖子才会出现在网站的前端 问题是我需要更改此设计,以便一个帖子可以链接到多个企业,这似乎相当简单,但存在许多问题: 每个帖子和企业都有一个coords空间栏,该栏用于在网站前端进行最近的me搜索。coords列对于后端的用户是可选的,如果他们不输入任何内容,系统

我有一个结构与下面类似的数据库(如果图表不完全清楚,我深表歉意)

统计数据、Favorite_likes和category_链接都与posts表有多态关系。一个企业可以有很多帖子,一篇帖子可以有很多日期

只有在“发布日期”表中有日期的帖子才会出现在网站的前端

问题是我需要更改此设计,以便一个帖子可以链接到多个企业,这似乎相当简单,但存在许多问题:

  • 每个帖子和企业都有一个coords空间栏,该栏用于在网站前端进行最近的me搜索。coords列对于后端的用户是可选的,如果他们不输入任何内容,系统将只从业务中复制coords。因此,如果我有一个链接到许多企业的帖子,那么它将需要存储多组坐标

  • 此外,我们网站上的用户希望看到一篇文章在不同领域的表现,这是目前可能的,因为每篇文章都链接到一行统计数据。如果我有一篇文章链接到许多企业,但是用户只会看到文章的总体统计数据,而不是每个位置

我们的数据库是非常复杂的,我需要一种方法,使一个职位,以链接到许多业务是简单的,并没有急剧复杂的事情了。该系统内置于Laravel中,其雄辩性使建立关系变得更加容易


非常感谢您的帮助

您可以通过将cords列从posts表移动到pivot表来定义post和business之间的多个关系,这样您就可以为每个
post
business
关系定义
cords

后模型

数据透视表业务\u post(id、post\u id、业务\u id、跳线)

商业模式

获取数据

类似地,您可以为其他模型进行定义


详细信息

你的问题到底是什么?干杯,我没想到你会有这样的数据透视表,看看我的模型和数据库结构,这种方法应该可以很好地工作。
public function businesses(){
    return $this->belongsToMany(Business::class, 'business_post')->withPivot('cords');
}

public function statistic(){
    return $this->hasOne(Statistic::class);
}

public function dates(){
    return $this->hasMany(PostDate::class);
}
public function posts(){
    return $this->belongsToMany(Post::class, 'business_post')->withPivot('cords');
}
$posts = Post::with('businesses','statistic','dates')->get();