Closed unizhu closed 5 years ago
composer.json
有 LaravelAdminExt\Select2\Select2ServiceProvider
自动发现机制.
会将 laravel-admin 自带的 Encore\Admin\Form\Field\Select
覆盖成 LaravelAdminExt\Select2\Form\Field\Select
https://github.com/xiaohuilam/laravel-admin-select2/blob/8be29b1d62bd003679a3f0ad2175d11181496c1e/src/Select2ServiceProvider.php#L28-L31
根据你提交的信息貌似没有走到这个 ServiceProvider. 你是不是忘记了 composer require 这个包, 或者在本地 require 但在线上机器没有 install?
@xiaohuilam 直接运行 composer require xiaohuilam/laravel-admin-select2 后,在laravel admin的select方法下实验的。 composer 里面是包含的。
然后继续测试,在provides里加入
"extra": { "laravel": { "providers": [ "LaravelAdminExt\\Select2\\Select2ServiceProvider" ] } },
也是method not found
手工在你 config/app.php
的 providers
加入的吗?
"providers" => [
//...
\LaravelAdminExt\Select2\Select2ServiceProvider::class,
],
在 app.php 里也加过里, 还是一样报错。是不是要publish一下,或者在admin.php里 enable一下?
在 app.php 里也加过里, 还是一样报错。是不是要publish一下,或者在admin.php里 enable一下?
不需要. 你看一下 tests/ 下的用例和配置
代码类似这样的,配置也没什么特殊呀
$form->select('user_id', '用户')->match(function ($keyword) {
return AdminUser::selectRaw('id, name as text')
->where('name', 'LIKE', '%' . $keyword . '%')
->latest();
})->text(function ($id) {
return AdminUser::whereIn('id', [$id])->pluck('name', 'id');
});
你在 vendor/xiaohuilam/laravel-admin-select2/src/Select2ServiceProvider.php 的 27 行下面 加个
dd('test');
看能不能被触发?
dd 可以出来的。
dd 可以出来的。
我在你所描述的版本下已复现此问题.
问题已修复. 请更新插件版本至 v1.1.6
感谢
Laravel: 5.8.15 Laravel-admin: 1.6.13
没有自动加载方法吗?