invoiceninja/app/Repositories/ProductRepository.php

38 lines
838 B
PHP
Raw Normal View History

2019-04-03 13:34:28 +11:00
<?php
2019-05-11 13:32:07 +10:00
/**
* Invoice Ninja (https://invoiceninja.com).
2019-05-11 13:32:07 +10:00
*
* @link https://github.com/invoiceninja/invoiceninja source repository
*
2023-01-29 09:21:40 +11:00
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com)
2019-05-11 13:32:07 +10:00
*
2021-06-16 16:58:16 +10:00
* @license https://www.elastic.co/licensing/elastic-license
2019-05-11 13:32:07 +10:00
*/
2019-04-03 13:34:28 +11:00
namespace App\Repositories;
use App\Models\Product;
2020-06-22 21:36:39 +10:00
use App\Utils\Traits\SavesDocuments;
2019-04-03 13:34:28 +11:00
class ProductRepository extends BaseRepository
{
2020-06-22 21:36:39 +10:00
use SavesDocuments;
/**
* @param array $data
* @param Product $product
* @return Product|null
*/
public function save(array $data, Product $product) : ?Product
{
$product->fill($data);
2019-04-03 13:34:28 +11:00
$product->save();
2020-06-22 21:36:39 +10:00
if (array_key_exists('documents', $data)) {
$this->saveDocuments($data['documents'], $product);
}
2019-04-03 13:34:28 +11:00
return $product;
}
}