在 laravel nova v.3 中获取包含连接数据的 BelongsTo 关系字段
Get BelongsTo relation field with joined data in laravel nova v.3
我使用 laravel nova 版本 3。
我有一个 OrderItem
模型,通过 productVariation
和 product_vendor
与 vendor
相关。所以我在 OrderItem
模型中将关系定义为 returns 连接关系:
public function vendor()
{
return $this->belongsTo(ProductVariation::class)
->join('product_vendor', 'product_variation.product_vendor_id', '=', 'product_vendor.id')
->join('user', 'user.id', '=', 'product_vendor.user_id');
}
在 OrederItemNovaResource
中,我定义了一个 BelongsTo
字段,如下所示:
BelongsTo::make(__('Vendor'), 'vendor', \App\Nova\VendorNovaResource::class)
我也检查:
BelongsTo::make(__('Vendor'), 'vendor', \App\Admin\ProductVariationNovaResource::class)
但他们不returns加入数据。如何从模型而不是 Nova 资源字段接收正确的关系数据?
实际上,这种情况将由nova目前不支持的belongs-to-through关系来处理。因为其他人对此有同样的问题,所以有一个 Github package 可以用来使你的 belongsTo 关系与多个表
我使用 laravel nova 版本 3。
我有一个 OrderItem
模型,通过 productVariation
和 product_vendor
与 vendor
相关。所以我在 OrderItem
模型中将关系定义为 returns 连接关系:
public function vendor()
{
return $this->belongsTo(ProductVariation::class)
->join('product_vendor', 'product_variation.product_vendor_id', '=', 'product_vendor.id')
->join('user', 'user.id', '=', 'product_vendor.user_id');
}
在 OrederItemNovaResource
中,我定义了一个 BelongsTo
字段,如下所示:
BelongsTo::make(__('Vendor'), 'vendor', \App\Nova\VendorNovaResource::class)
我也检查:
BelongsTo::make(__('Vendor'), 'vendor', \App\Admin\ProductVariationNovaResource::class)
但他们不returns加入数据。如何从模型而不是 Nova 资源字段接收正确的关系数据?
实际上,这种情况将由nova目前不支持的belongs-to-through关系来处理。因为其他人对此有同样的问题,所以有一个 Github package 可以用来使你的 belongsTo 关系与多个表