Вообщем интересно получилось (всё как обычно) с тем о чем я писал выше , нужно было реализовать booking у которых есть много services, а у services has many inset_services (вложенных услуг). Реализовал через третью модель ServiceInsetService у которой belongTo = service, booking. Получилось что booking has many services (избавило от проблемы с одинаковыми id в отличие от belongsToMany) а удобность заполения сделать через dependsOn: inset_service_id:
label: Inset ID
dependsOn: service
defaultFrom: inset_services
type: radio
span: left
options: getInsetServicesForService
service - это recordfinder, а у функции getInsetServicesForService две проверки на существование if ( $this->service instanceof Service) и if ( $this->service->inset_services->count() ) , все более мение удобно и работает. Можно развивать дальше