【问题标题】:How to relate all rows in a table to all other rows in the same table?如何将表中的所有行与同一表中的所有其他行相关联?
【发布时间】:2018-03-07 04:13:09
【问题描述】:

在 Laravel 中,我可以在同一张表中创建 2 个 id 之间的关系吗?在我的情况下,两张照片之间的汉明距离。 我想将每个 id 的 hamming_distance 保存到每个其他 id。每个关系一个。没有重复。不担心规模或生成每个 hamming_distance 需要多长时间。真的只是在寻找最好的架构来处理这个问题。

照片表

id
path
etc

另一张桌子。或者任何建议的 2 列同名显然都行不通

photo_id
photo_id
hamming_distance

【问题讨论】:

  • 这可能是duplicate
  • 很接近了。所以 photo_id 和 related_photo_id 的模式是一个合理的开始。我的查询需要类似于“其中 photo_id = 17 and related_photo_id = 18 OR photo_id = 18 and related_photo_id = 17”。我想有更好的方法

标签: mysql laravel-5


【解决方案1】:

在您的第二张桌子上

public function Photo(){

   return $this->belongsTo('App\Photo', 'photo_id', 'id');
}

更多详情https://laravel.com/docs/5.6/eloquent-relationships#one-to-one

【讨论】:

  • 你能告诉我第二个表的模式,这将使这项工作。这不是我理解一对一的方式。每张照片都与其他照片有关系。
猜你喜欢
  • 2020-06-02
  • 1970-01-01
  • 2020-09-11
  • 2022-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-24
  • 2022-10-14
相关资源
最近更新 更多