composer require encore/laravel-admin
php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider"
php artisan admin:install
http://localhost:8000/admin
開発用Admin
admin
admin
php artisan make:model Domain/Models/AdminUsersModel
php artisan admin:make AdminUsersController --model=App\\Domain\\Models\\AdminUsersModel
app/Admin/routes.phpに追加
$router->resource('admin-users-models', AdminUsersController::class);
$form->savingの部分でハッシュ化するのを書いてる。
src/app/Admin/Controllers/UsersController.php
<?php
namespace App\Admin\Controllers;
use App\Domain\Models\UsersModel;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Show;
class UsersController extends AdminController
{
/**
* Title for current resource.
*
* @var string
*/
protected $title = 'App\Domain\Models\UsersModel';
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
$grid = new Grid(new UsersModel);
$grid->column('id', __('id'));
$grid->column('user_id', __('User id'));
$grid->column('shop_id', __('Shop id'));
$grid->column('password', __('Password'));
$grid->column('created_at', __('Created at'));
$grid->column('updated_at', __('Updated at'));
return $grid;
}
/**
* Make a show builder.
*
* @param mixed $id
* @return Show
*/
protected function detail($id)
{
$show = new Show(UsersModel::findOrFail($id));
$show->field('id', __('id'));
$show->field('user_id', __('User id'));
$show->field('shop_id', __('Shop id'));
$show->field('password', __('Password'));
$show->field('created_at', __('Created at'));
$show->field('updated_at', __('Updated at'));
return $show;
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
$form = new Form(new UsersModel);
$form->number('id', __('id'));
$form->text('user_id', __('User id'));
$form->text('shop_id', __('Shop id'));
$form->password('password', __('Password'));
$form->saving(function (Form $form) {
if ($form->password && $form->model()->password != $form->password) {
$form->password = bcrypt($form->password);
\Log::info($form->password);
}
});
return $form;
}
}