解決laravel-admin中select在form編輯時不能自動選中當前的值的問題

爲每個Model中建立一個可以自動生成select的option的方法就能夠了。php

例如爲User.php這個model建立生成option的方法

/**
     * 獲取用戶列表-select-option
     * @return User[]|\Illuminate\Database\Eloquent\Collection
     */
    public static function getSelectOptions()
    {
        $options = DB::table('users')->select('id','name as text')->get();
        $selectOption = [];
        foreach ($options as $option){
            $selectOption[$option->id] = $option->text;
        }
        return $selectOption;
    }

在對應的控制器中使用好比Article的控制器中

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

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

            $form->text('title','標題')->rules('required|min:10');
            $form->textarea('description','摘要簡介');
            $form->ueditor('body','正文')->rules('min:10');
            $form->select('user_id','做者')->options(User::getSelectOptions());
            (略)

文檔中說的使用接口方式,並且返回文檔中的格式,是不能解決自動選中原值的,只能是空白的。
$form->select('user_id','做者')->options(admin_base_path('/api/users'));api

相關文章
相關標籤/搜索