Laravel一张表连接到另外两个由多对多的关系
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel一张表连接到另外两个由多对多的关系相关的知识,希望对你有一定的参考价值。
我有一个关于一个关系的问题,该关系涉及一个表连接到具有多对多关系的另外两个表。我不知道我是否需要多态,或者我是否可以将表连接到另一个,就像在laravel文档中一样。我加入了下面的图片,向您展示我的意思。来自:
这意味着一张优惠券可用于多种服务和/或购买东西。
假设凭证价值500美元的理发师。例如,他可以使用相同的凭证来理发(服务)并购买护发产品(销售)。我的“To”图像会起作用吗?不要介意表的命名等等。我刚刚为我的例子创建了它们。
谢谢阅读
答案
你的“到”表将起作用。在这种情况下,客户可以使用相同的凭证来进行服务和/或销售。当您提取销售中使用的凭证时,这将获得linkingtable_salevoucher
的关系,当您从服务中提取关系时,这将使用linkingtable_servicevoucher
。如果您希望凭证只能用于服务或销售,则不能同时使用。在创建新关系之前,您可以检查是否具有其他关系。像这样:
//Before create a Sale with voucher, check if voucher has be used
$voucher = AppVoucher::where('serialNumberOfProduct', $serialVoucher)
->has('services')->get();
if($voucher->count() == 0){
//create the new relationship
}
希望这可以帮助
以上是关于Laravel一张表连接到另外两个由多对多的关系的主要内容,如果未能解决你的问题,请参考以下文章