<?php
namespace QxCMS\Modules\Client\Repositories\Products;
use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Client\Models\Products\ProductCategory;
use QxCMS\Modules\Client\Repositories\Products\ProductRepositoryInterface as Product;
use Illuminate\Http\Request;
class ProductCategoryRepository extends AbstractRepository implements ProductCategoryRepositoryInterface
{
protected $model;
function __construct(ProductCategory $model, Product $product)
{
$this->model = $model;
$this->product = $product;
}
public function create(array $request)
{
$productCategory = $this->model->fill($request);
$productCategory->save();
return $productCategory;
}
public function update(Request $request)
{
$id = $request->input('id');
$name = $request->input('name');
$productCategory = $this->findById($id);
$productCategory->name = $name;
$productCategory->save();
return $productCategory->name;
}
public function delete($id)
{
$productCategory = $this->findById($id);
if ($productCategory->product->count() > 0) {
return response()->json(['error' => 'exists', 'id' => $id]);
} else {
$productCategory->delete();
return response()->json(['success' => 'yes', 'id' => $id]);
}
}
public function productCategoryList()
{
return
$this
->model
->orderBy('name','asc')
->pluck('name', 'id')
->toArray();
}
}