我有一个奇怪的Laravel 9设置,由于被限制在一个非常古老的数据库。
我试图找到一种简洁的方法来创建一个文件夹中多个模型的hasMany关系,我相信用图表来解释会更容易:
app/Models/
- Customer
app/Models/Records/
- Orange
- Green
- Blue
现在,所有这些记录都与客户有某种联系,但它们也都不同,例如,橙子表示使用cid
的客户,而绿色可能使用customerid
。
我已经设置了逻辑,其中每个记录模型都具有取决于不同字段名称的customer belongsTo关系。
public function customer()
{
return $this->belongsTo('App\Models\Customer', 'CustomerId');
}
我需要在Customer模型中创建一个records()
函数,该函数将所有这些找到的记录拉入,但我无法创建任何存储在DB中的新表。
1条答案
按热度按时间3htmauhk1#
要像hasMany那样连接多个表(模型),在Laravel中可能无法开箱即用。
不过,如果你真的需要把它们都结合起来,我做过一次,但并不漂亮。
首先将以下内容添加到示例中的每个App\Records\Model(绿色)
现在是客户模型
所以现在你可以
在刀片内部,您可以访问它们
可以对集合进行筛选和排序
这里唯一的问题是记录id,其中橙色可以与绿色和蓝色具有相同的id。
最好是在橙绿和蓝
$table->uuid('record_id')->nullable();
中添加新字段希望这能帮到你。