如何向 laravel 航海者关系 BelongsToMany 添加条件

How to add a Condition to laravel voyager relationship BelongsToMany

我需要在 Laravel Voyager

中的属于多关系中获取 parent_idnull 的变体

relation.blade.php

<select
    class="form-control @if(isset($options->taggable) && $options->taggable == 'on') select2-taggable @else select2-ajax @endif"
    name="{{ $relationshipField }}[]" multiple
    data-get-items-route="{{route('voyager.' . $dataType->slug.'.relation')}}" data-get-items-field="{{$row->field}}"
    @if(isset($options->taggable) && $options->taggable == 'on')
    data-route="{{ route('voyager.'.\Illuminate\Support\Str::slug($options->table).'.store') }}"
    data-label="{{$options->label}}"
    data-error-message="{{__('voyager::bread.error_tagging')}}"
    @endif
    >

您需要自定义路由调用的控制器:{{route('voyager.' . $dataType->slug.'.relation')}},即 $breadController.'@relation'。您可以在上述控制器中覆盖 public 方法 relation,方法是在 the original one (l.822) 上启发您发回 eloquent 模型,它通常会通过 ->where('parent_id', null)(在 l.838 和 l.840 中)。

您可能也有兴趣查看 Laravel 提供的 Query Scope