Skip to content

Commit

Permalink
Merge pull request #743 from bakaphp/refact-import-channel-sync
Browse files Browse the repository at this point in the history
Merge pull request #740 from bakaphp/refact-search-default-price
  • Loading branch information
kaioken authored Dec 22, 2023
2 parents 70685e2 + 4cc5f59 commit 254a889
Showing 1 changed file with 21 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,29 +20,31 @@ public function __construct(

public function execute(): Variants
{
if ($this->variantsWarehouses->channels()->find($this->channel->getId())) {
$this->variantsWarehouses->channels()->syncWithoutDetaching([
$this->channel->getId() => [
'price' => $this->variantChannel->price,
'discounted_price' => $this->variantChannel->discounted_price,
'is_published' => $this->variantChannel->is_published,
'products_variants_id' => $this->variantsWarehouses->products_variants_id,
'product_variants_warehouse_id' => $this->variantsWarehouses->getId(),
'warehouses_id' => $this->variantsWarehouses->warehouses_id,
]
$channelId = $this->channel->getId();
$relationship = $this->variantsWarehouses->channels()->find($channelId);

if ($relationship) {
// Update existing pivot table values
$this->variantsWarehouses->channels()->updateExistingPivot($channelId, [
'price' => $this->variantChannel->price,
'discounted_price' => $this->variantChannel->discounted_price,
'is_published' => $this->variantChannel->is_published,
'products_variants_id' => $this->variantsWarehouses->products_variants_id,
'product_variants_warehouse_id' => $this->variantsWarehouses->getId(),
'warehouses_id' => $this->variantsWarehouses->warehouses_id,
]);
} else {
$this->variantsWarehouses->channels()->attach([
$this->channel->getId() => [
'price' => $this->variantChannel->price,
'discounted_price' => $this->variantChannel->discounted_price,
'is_published' => $this->variantChannel->is_published,
'products_variants_id' => $this->variantsWarehouses->products_variants_id,
'product_variants_warehouse_id' => $this->variantsWarehouses->getId(),
'warehouses_id' => $this->variantsWarehouses->warehouses_id,
]
// Create new relationship if it doesn't exist
$this->variantsWarehouses->channels()->attach($channelId, [
'price' => $this->variantChannel->price,
'discounted_price' => $this->variantChannel->discounted_price,
'is_published' => $this->variantChannel->is_published,
'products_variants_id' => $this->variantsWarehouses->products_variants_id,
'product_variants_warehouse_id' => $this->variantsWarehouses->getId(),
'warehouses_id' => $this->variantsWarehouses->warehouses_id,
]);
}

return $this->variantsWarehouses->variant;
}
}

0 comments on commit 254a889

Please sign in to comment.