77 lines
2.3 KiB
PHP
Executable File
77 lines
2.3 KiB
PHP
Executable File
<?php
|
|
|
|
namespace App\Jobs\Dashboard\Product;
|
|
|
|
use App\Models\Product;
|
|
use Illuminate\Support\Arr;
|
|
|
|
use App\Http\Requests\Dashboard\Product\Store as Request;
|
|
|
|
class Store
|
|
{
|
|
protected $attr;
|
|
|
|
/**
|
|
* Store constructor.
|
|
* @param array $attr
|
|
*/
|
|
public function __construct(array $attr = [])
|
|
{
|
|
$this->attr = Arr::only($attr, ['measurement_id', 'power', 'name', 'poster', 'poster_thumb', 'body', 'price', 'price_discount', 'price_credit', 'currency', 'slug', 'published', 'brand_id', 'short_body', 'article_number', 'leader_of_sales', 'popular', 'count', 'available', 'descriptions', 'keywords', 'title_seo', 'is_ready_solution', 'data_sheet']);
|
|
}
|
|
|
|
/**
|
|
* @param Request $request
|
|
* @return Store
|
|
*/
|
|
public static function fromRequest(Request $request)
|
|
{
|
|
return new static([
|
|
'name' => $request->getName(),
|
|
//'category_id' => $request->getCategoryID(),
|
|
'brand_id' => $request->getBrandID(),
|
|
'measurement_id' => $request->getMeasurementId(),
|
|
|
|
'currency' => $request->currency,
|
|
|
|
'price' => $request->getPrice(),
|
|
'price_discount' => $request->getPriceDiscount(),
|
|
// 'price_credit' => $request->getPriceCredit(),
|
|
|
|
'poster' => $request->getPoster(),
|
|
'calc' => $request->getCalc(),
|
|
'poster_thumb' => $request->getPosterThumb(),
|
|
'is_ready_solution' => $request->is_ready_solution == false ? 0 : 1,
|
|
'power' => $request->power,
|
|
|
|
'data_sheet' => $request->getDataSheet(),
|
|
|
|
'body' => $request->getBody(),
|
|
'short_body' => $request->short_body,
|
|
|
|
'slug' => $request->getSlug(),
|
|
'published' => $request->getPublished(),
|
|
// 'popular' => $request->getPopular(),
|
|
'leader_of_sales' => $request->getLeaderOfSales(),
|
|
|
|
'article_number' => $request->article_number,
|
|
'count' => $request->count,
|
|
'available' => $request->getAvailable(),
|
|
'keywords' => $request->keywords,
|
|
'descriptions' => $request->descriptions,
|
|
'title_seo' => $request->title_seo,
|
|
]);
|
|
}
|
|
|
|
|
|
/**
|
|
* @return mixed
|
|
*/
|
|
public function handle()
|
|
{
|
|
$product = Product::create($this->attr);
|
|
|
|
return $product;
|
|
}
|
|
}
|