6
0
Fork 0
jiqu-library-server/app/Admin/Controllers/Store/AdministratorController.php

49 lines
1.6 KiB
PHP

<?php
namespace App\Admin\Controllers\Store;
use Dcat\Admin\Form;
use App\Models\Store\Store;
use Dcat\Admin\Http\Controllers\AdminController;
use Dcat\Admin\Layout\Content;
use Dcat\Admin\Models\Administrator;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Dcat\Admin\Traits\HasFormResponse;
class AdministratorController extends Controller
{
use HasFormResponse;
public function create($store_id)
{
$store = Store::findOrFail($store_id);
$form = Form::make();
$form->tree('administrator_id', '选择管理员')
->nodes(Administrator::all()->toArray())
->value($store->administrators()->select(['admin_users.id', 'admin_users.name', 'admin_users.username'])->pluck('id'))
->setTitleColumn('name');
return (new Content())->title('新增')->body($form);
}
public function store($store_id, Request $request)
{
$store = Store::findOrFail($store_id);
if ($request->input('administrator_id')) {
$admin_ids = explode(',', $request->input('administrator_id'));
$store->administrators()->sync($admin_ids);
} else {
$store->administrators()->detach();
}
return $this->sendResponse($this->response()->success(trans('admin.save_succeeded')));
}
public function destroy($store_id, $id)
{
$store = Store::findOrFail($store_id);
$admin_ids = explode(',', $id);
$store->administrators()->detach($admin_ids);
return $this->sendResponse($this->response()->success(trans('admin.delete_succeeded')));
}
}