Laravel-admin: multipleSelect提交没有问题,但显示不出来

Created on 13 Mar 2017  ·  3Comments  ·  Source: z-song/laravel-admin

在edit Menu页面里面

 $form->multipleSelect('Tags')->options(Tag::all()->pluck('name', 'id'));

但是多选框中显示为空。
提交时,从数据库中可以看到,attach是成功的。但就是显示不出来。不知道是否与menu的主键为varchar类型有关?
其中

class Menu extends Model implements Sortable
{
    protected $keyType = 'string';
    use SortableTrait;
    public $sortable = [
        'order_column_name' => 'orderNum',
        'sort_when_creating' => true,
    ];
    public function Tags()
    {
        return $this->belongsToMany('App\Tag','menu_tags','menu_id','tag_id');
    }
}

class Tag extends Model
{
    public function Menus()
    {
        return $this->belongsToMany('App\Menu','menu_tags','tag_id','menu_id');
    }
}
class MenuTag extends Model
{
    protected $fillable = ['menu_id', 'tag_id'];
}

Most helpful comment

刚看别人的文章 #387 用了这篇文章的方法,解决了multipleSelect的显示问题。
修改后代码如下:

 $form->multipleSelect('Tags')->options(function (){
                $script = <<<JS
                $('.Tags').select2().val({$this->Tags->pluck('id')}).trigger("change");
JS;
                Admin::script($script);
                return Tag::all()->pluck('name', 'id');
            });

原代码:
$form->multipleSelect('Tags')->options(Tag::all()->pluck('name', 'id'));

All 3 comments

不太清楚你的问题,看看控制台有没有错误,看看网页源码的多选框的select代码部分

刚看别人的文章 #387 用了这篇文章的方法,解决了multipleSelect的显示问题。
修改后代码如下:

 $form->multipleSelect('Tags')->options(function (){
                $script = <<<JS
                $('.Tags').select2().val({$this->Tags->pluck('id')}).trigger("change");
JS;
                Admin::script($script);
                return Tag::all()->pluck('name', 'id');
            });

原代码:
$form->multipleSelect('Tags')->options(Tag::all()->pluck('name', 'id'));

应该是Tags 这个方法名的问题,我使用的驼峰写法修改的时候,也不会显示选着的

Was this page helpful?
0 / 5 - 0 ratings

Related issues

daguye918 picture daguye918  ·  3Comments

fokoz picture fokoz  ·  3Comments

chenyongmin picture chenyongmin  ·  3Comments

zhenyangze picture zhenyangze  ·  3Comments

cdhraesaemer picture cdhraesaemer  ·  3Comments