<?php
namespace QxCMS\Modules\Client\Repositories\Directory;
use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Client\Models\Directory\Affiliates;
use QxCMS\Modules\Client\Repositories\Directory\DirectoriesRepositoryInterface as Directory;
use Illuminate\Http\Request;
class AffiliatesRepository extends AbstractRepository implements AffiliatesRepositoryInterface
{
protected $model;
function __construct(Affiliates $model, Directory $directory)
{
$this->model = $model;
$this->directory = $directory;
}
public function create(array $request)
{
$affiliates = $this->model->fill($request);
$affiliates->save();
return $affiliates;
}
public function update(Request $request)
{
$id = $request->input('id');
$name = $request->input('name');
$affiliates = $this->findById($id);
$affiliates->name = $name;
$affiliates->save();
return $affiliates->name;
}
public function delete($id)
{
$affiliate = $this->findById($id);
if ($affiliate->directory->count() > 0) {
return response()->json(['error' => 'exists', 'id' => $id]);
} else {
$affiliate->delete();
return response()->json(['success' => 'yes', 'id' => $id]);
}
}
public function affiliatesList()
{
return
$this
->model
->orderBy('name','asc')
->pluck('name', 'id')
->toArray();
}
}