我有一个多到多的关系,其中枢轴表有大约20个额外的列。我正在使用自定义的枢轴类,并且在访问关系上的->pivot属性时,我已经成功地设置了返回该类实例的代码。
$supplier->products->pivot返回自定义的枢轴类。
但是,当我想要访问数据时,我可以在belongsToMany关系中手动定义pivot类的所有单独属性(顺便说一句,它扩展了数据透视),如下所示:
return $this->belongsToMany(Product::class, ['prop1', 'prop2', 'prop3'])
...But,我如何检索类的所有枢轴数据,而无需手动定义它们,因为它将关系声明与类绑定得很近?这有可能吗。如果不是,它将使可维护性成为一个皮塔!理想情况下,如果withPivot有一个旗子来实现这一切,那就太好了!
发布于 2015-06-28 11:10:33
在我的情况下,我发现更容易将所有数据分离到一个单独的表和模型中,并在透视表中添加一个外键到附加表记录中。这允许我使用“正常”模型处理在Laravel和意味着我不需要混乱的问题,这样的问题!
我的用例是一个多到多的产品和供应商的模式,每个供应商都有自己的产品数据,即价格、库存、运输成本/时间等,所以我将所有这些从支点转移到了SupplierProduct模型。
我将把这个问题留在这里,因为虽然这不是问题的直接答案(我担心答案是“否”),但这是一个可行的解决方案,可以节省相当多的编码挫折感!
https://stackoverflow.com/questions/31083050
复制相似问题