界面

代码

<?php

namespace App\Admin\Controllers\Sakila;

use App\Models\Sakila\Staff;
use Encore\Admin\Facades\Admin;
use Encore\Admin\Form;
use App\Http\Controllers\Controller;

class StaffController extends Controller
{
    ...

    protected function grid()
    {
        return Admin::grid(Staff::class, function (Grid $grid) {

            $grid->id('ID')->sortable();

            $grid->column('name');
            $grid->address()->address();
            $grid->picture('avatar')->image();
            $grid->email();
            $grid->active()->value(function ($active) {
                return $active ?
                    "<i class='fa fa-check' style='color:green'></i>" :
                    "<i class='fa fa-close' style='color:red'></i>";
            });

            $grid->username();

            $grid->created_at();
            $grid->updated_at();

            $grid->rows(function ($row) {
                $name = "$row->first_name $row->last_name";
                $row->column('name', $name);
            });
        });
    }

    protected function form()
    {
        return Admin::form(Staff::class, function (Form $form) {

            $form->display('id', 'ID');

            $form->text('first_name');
            $form->text('last_name');
            $form->select('address_id', 'Address')->options(function ($addressId) {

                return Address::options($addressId);

            })->ajax('/admin/api/sakila/address')->rules('required');

            $form->image('picture');
            $form->email('email');
            $form->text('store_id');
            $form->switch('active');
            $form->text('username');
            $form->password('password');

            $form->display('created_at', 'Created At');
            $form->display('updated_at', 'Updated At');
        });
    }

    // GET /admin/api/sakila/address?q=XX
    public function address(Request $request)
    {
        $q = $request->get('q');

        return Address::where('address', 'like', "%$q%")->paginate(null, ['id',DB::raw('address as text')]);
    }

    ...
}

模型



表结构



-END-

results matching ""

    No results matching ""