laravel-livewire-tables icon indicating copy to clipboard operation
laravel-livewire-tables copied to clipboard

[Bug]: Relationship not working if we have multiple relationship with same table

Open MalikUmair001 opened this issue 1 month ago • 2 comments

What happened?

public function seller() { return $this->belongsTo(User::class, 'seller_id')->withTrashed(); }

/**
 * Get order items
 *
 * @return object
 */
public function items()
{
    return $this->hasMany(OrderItem::class, 'order_id');
}

Column::make("Buyer", "buyer.email")
            // ->view('datatable.views.orders.table-order-buyer')
            ->sortable(),

        Column::make("Seller", "seller.email")
            // ->view('datatable.views.orders.table-order-seller')
            ->sortable(),
            

It returns same value for both columns

How to reproduce the bug

public function seller() { return $this->belongsTo(User::class, 'seller_id')->withTrashed(); }

/**
 * Get order items
 *
 * @return object
 */
public function items()
{
    return $this->hasMany(OrderItem::class, 'order_id');
}

Column::make("Buyer", "buyer.email")
            // ->view('datatable.views.orders.table-order-buyer')
            ->sortable(),

        Column::make("Seller", "seller.email")
            // ->view('datatable.views.orders.table-order-seller')
            ->sortable(),
            

It returns same value for both columns

Package Version

No response

PHP Version

None

Laravel Version

No response

Alpine Version

No response

Theme

None

Notes

No response

Error Message

No response

MalikUmair001 avatar May 01 '24 16:05 MalikUmair001

/** * Get buyer * * @return object */ public function buyer() { return $this->belongsTo(User::class, 'buyer_id')->withTrashed(); }

/**
 * Get seller
 *
 * @return object
 */
public function seller()
{
    return $this->belongsTo(User::class, 'seller_id')->withTrashed();
}

MalikUmair001 avatar May 01 '24 16:05 MalikUmair001

So I suspect it's due to how the package creates the joins dynamically.

Please confirm which version of the Tables Package, Laravel, Livewire you're using

Can you please also share:

  1. The full code for your Table Component
  2. The relevant elements from the Model that is being used in the Table as the "primary model", (i.e. the relationships)

Please wrap it in the script tags (three ` marks)

I can then try to replicate it on my end and give you some options, or fix any bugs.

lrljoe avatar May 03 '24 23:05 lrljoe