界面

代码

<?php

namespace App\Admin\Controllers\Sakila;

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

class CityController extends Controller
{

    ...

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

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

            $grid->city()->editable();
            $grid->country()->country();

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

            $grid->filter(function ($filter) {
                $filter->like('city');
                $filter->like('country.country', 'Country');
            });
        });
    }

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

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

            $form->select('country_id')->options(function ($id) {
                $country = Country::find($id);

                if ($country) {
                    return [$country->id => $country->country];
                }
            })->ajax('/admin/api/sakila/counties');

            $form->text('city');

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

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

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

    ...
}

模型



表结构



-END-

results matching ""

    No results matching ""