Refactor product relations to use new category_product and channel_product tables

- Updated queries and relationships in various controllers and models to replace `product_has_relations` with `category_product` and `channel_product`.
- Adjusted methods in `ProductFilterer`, `FilterParamsController`, and `FilterController` to reflect the new database structure.
- Modified seeder to insert data into the new `channel_product` table.
- Updated tests to ensure compatibility with the new product relation structure.
This commit is contained in:
Mekan1206
2026-02-09 00:48:22 +05:00
parent 683fa5e0d9
commit 522ebdae34
15 changed files with 102 additions and 48 deletions

View File

@@ -33,9 +33,8 @@ class ProductEntrepreneurFilter extends Filter
*/
public function apply(NovaRequest $request, $query, $value)
{
$vendorProducts = DB::table('product_has_relations')
->where('productable_type', 'channel')
->where('productable_id', $value)
$vendorProducts = DB::table('channel_product')
->where('channel_id', $value)
->pluck('product_id');
$query->whereIntegerInRaw('id', $vendorProducts);

View File

@@ -123,9 +123,8 @@ class Product extends Resource
$user = $request->user();
if ($user->hasRole('vendor')) {
$vendorProducts = DB::table('product_has_relations')
->where('productable_type', 'channel')
->where('productable_id', $user->channel()->id)
$vendorProducts = DB::table('channel_product')
->where('channel_id', $user->channel()->id)
->pluck('product_id');
$query->whereIntegerInRaw('id', $vendorProducts);