我有一个名为
Tour
的主模型,还有另一个模型 OptionPrices
。根据这个条件我该如何建立关系
option_prices
桌子
+-------+---------+----------+
| id | channel | optionid |
+-------+---------+----------+
| 12531 | 9278 | 10003 |
| 12533 | 5408 | 10003 |
| 12530 | 5501 | 10003 |
| 12529 | 3862 | 10003 |
| 12535 | 9225 | 10003 |
| 12536 | 6640 | 10003 |
| 12534 | 6111 | 10003 |
| 12532 | 5235 | 10003 |
| 12492 | 3862 | 10002 |
| 12491 | 6640 | 10002 |
+-------+---------+----------+
一次旅行可以有很多
option_prices
,但它不使用id
,它基于optionid
列,但必须按其分组,这样它就会成为一个optionid
我计划使用数据透视表,但问题是我认为它会附加多个
option_prices
,当我获得OptionPrices
关系时,它会导致多重查询?
对于这个问题最好的方法是什么?预先感谢。
如果你想使用其他外键,你可以在你的模型中这样做
游览型号:
public function options(): HasMany
{
return $this->hasMany(OptionPrice::class, 'optionid', 'id');
}
期权价格模型:
public function tour(): BelongsTo
{
return $this->belongsTo(Tour::class, 'optionid', 'id');
}
您可以使用雄辩的数据透视表根据数据库中的列名称指定您的关系