File: /var/www/ipsremont-demo/app/Repository/Settings/SettingsRepository.php
<?php
namespace App\Repository\Settings;
use App\Http\Requests\Settings\UpdateRequest;
use App\Models\Settings;
class SettingsRepository
{
/**
* @param $id
* @return mixed
*/
public static function getById($id)
{
return Settings::findOrFail($id);
}
public static function getField($key)
{
$model = Settings::where('key', $key)->first();
if(!$model) {
$model = new Settings();
$model->key = $key;
$model->value = '';
$model->label = 'settings.' . $key;
$model->save();
}
return $model;
}
/**
* @param UpdateRequest $request
*/
public function update(UpdateRequest $request)
{
$request->validate($request->rules());
$name = self::getField('name');
$name->value = ($request->name_value) ? $request->name_value : '';
$name->update();
$email = self::getField('email');
$email->value = ($request->email_value) ? $request->email_value : '';;
$email->update();
$password = self::getField('password');
$password->value = ($request->password_value) ?$request->password_value : '';;
$password->update();
}
}