如何向 laravel 航海者关系 BelongsToMany 添加条件
How to add a Condition to laravel voyager relationship BelongsToMany
我需要在 Laravel Voyager
中的属于多关系中获取 parent_id
为 null
的变体
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。
我需要在 Laravel Voyager
parent_id
为 null
的变体
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。