This commit is contained in:
Edward Yang 2022-08-19 14:26:55 +08:00
parent b310755a55
commit bf2346d2c1
3 changed files with 45 additions and 14 deletions

View File

@ -11,15 +11,16 @@
namespace Beike\Admin\Http\Controllers;
use Beike\Repositories\LanguageRepo;
use Exception;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redirect;
use Beike\Repositories\LanguageRepo;
class LanguageController extends Controller
{
/**
* 语言列表
* @return mixed
*/
public function index()
{
$languages = LanguageRepo::all();
@ -31,13 +32,19 @@ class LanguageController extends Controller
return view('admin::pages.languages.index', $data);
}
/**
* 新建语言
* @param Request $request
* @return array
*/
public function store(Request $request): array
{
$language = LanguageRepo::create($request->only('name', 'code', 'locale', 'image', 'sort_order', 'status'));
$language = LanguageRepo::create($request->all());
return json_success(trans('common.created_success'), $language);
}
/**
* @param Request $request
* @param int $id
@ -46,11 +53,18 @@ class LanguageController extends Controller
*/
public function update(Request $request, int $id): array
{
$language = LanguageRepo::update($id, $request->only('name', 'code', 'locale', 'image', 'sort_order', 'status'));
$language = LanguageRepo::update($id, $request->all());
return json_success(trans('common.updated_success'), $language);
}
/**
* 删除语言
*
* @param int $currencyId
* @return array
*/
public function destroy(int $currencyId): array
{
LanguageRepo::delete($currencyId);

View File

@ -12,13 +12,14 @@
namespace Beike\Repositories;
use Beike\Models\Country;
use Illuminate\Contracts\Pagination\LengthAwarePaginator;
class CountryRepo
{
/**
* 创建一个country记录
* @param $data
* @return int
* @return mixed
*/
public static function create($data)
{
@ -29,7 +30,8 @@ class CountryRepo
/**
* @param $id
* @param $data
* @return bool|int
* @return mixed
* @throws \Exception
*/
public static function update($id, $data)
{
@ -43,7 +45,7 @@ class CountryRepo
/**
* @param $id
* @return \Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Eloquent\Builder[]|\Illuminate\Database\Eloquent\Collection|\Illuminate\Database\Eloquent\Model|null
* @return mixed
*/
public static function find($id)
{
@ -64,9 +66,9 @@ class CountryRepo
/**
* @param $data
* @return \Illuminate\Contracts\Pagination\LengthAwarePaginator
* @return LengthAwarePaginator
*/
public static function list($data)
public static function list($data): LengthAwarePaginator
{
$builder = Country::query();

View File

@ -11,7 +11,6 @@
namespace Beike\Repositories;
use Beike\Models\Language;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Builder;
@ -26,7 +25,15 @@ class LanguageRepo
*/
public static function create($data)
{
return Language::query()->create($data);
$languageData = [
'name' => $data['name'] ?? '',
'code' => $data['code'] ?? '',
'locale' => $data['locale'] ?? '',
'image' => $data['image'] ?? '',
'sort_order' => (int)($data['sort_order'] ?? 0),
'status' => (bool)($data['status'] ?? ''),
];
return Language::query()->create($languageData);
}
/**
@ -41,7 +48,15 @@ class LanguageRepo
if (!$item) {
throw new \Exception("语言id {$id} 不存在");
}
$item->update($data);
$languageData = [
'name' => $data['name'] ?? '',
'code' => $data['code'] ?? '',
'locale' => $data['locale'] ?? '',
'image' => $data['image'] ?? '',
'sort_order' => (int)($data['sort_order'] ?? 0),
'status' => (bool)($data['status'] ?? ''),
];
$item->update($languageData);
return $item;
}