xiaohuilam / laravel-admin-select2

𝒂𝒔𝒚𝒏𝒄 𝒔𝒆𝒍𝒆𝒄𝒕/𝒎𝒐𝒓𝒑𝒉𝑺𝒆𝒍𝒆𝒄𝒕 𝒇𝒐𝒓 𝒍𝒂𝒓𝒂𝒗𝒆𝒍 𝒂𝒅𝒎𝒊𝒏
MIT License
41 stars 4 forks source link

morphSelect 自动从 type 中检索的支持 #18

Closed xiaohuilam closed 5 years ago

xiaohuilam commented 5 years ago

之前 的使用

        $form->morphSelect('commentable')->type([
            Comment::class => '评论',
            Answer::class => '答案',
        ])->match(function ($keyword, $class) {
            /**
             * @var \Illuminate\Database\Eloquent\Model $query
             */
            $query = $class;
            return $query::where('content', 'LIKE', DB::raw('"%' . $keyword . '%"'))
                ->select([DB::raw('content AS text'), 'id']);
        })->text(function ($id, $class) {
            /**
             * @var \Illuminate\Database\Eloquent\Model $query
             */
            $query = $class;
            return $query::withTrashed()->where('id', $id)
                ->pluck('content', 'id');
        });

实现 之后

        $form->morphSelect('commentable')->type([
            Comment::class => '评论',
            Answer::class => '答案',
        ]);
use LaravelAdminExt\Select2\Interfaces\MorphSelectInterface;

class Comment extends Model implements MorphSelectInterface
{
    //...
}
use LaravelAdminExt\Select2\Interfaces\MorphSelectInterface;

class Answer extends Model implements MorphSelectInterface
{
    //...
}