Laravel 8 Nova:自定义 Reationship BelongsToMany 选项,displayUsing 和 resolveUsing 不起作用

问题描述

在 Nova 资源中,我显示一个 BelongsToMany Nova Field。如果该字段的选项值已经附加到 Nova 资源,我想简单地连接(前置)一个“检查象形图”。

我尝试使用:

BelongsToMany::make(__('Circuits'),'circuits',Circuit::class)->displayUsing(function ($name) {
            return '...';
        }),

BelongsToMany::make(__('Circuits'),Circuit::class)->resolveUsing(function ($name) {
            return '...';
        }),

但两者都不起作用(没有错误,但它不会修改字段中显示的选项)。

我也试过 Laravel Nova,custom options belongsTo 但它不起作用(函数 optionsdisplayUsingLabels修改任何东西 - 仍然没有显示错误)。

我应该重写 BelongsToMany 类,我应该(如何?)?

解决方法

我没有找到用检查或文本等作为前缀的方法。但我们可以通过在 Nova 资源中指定方法 setRelatableX(...) {...} 来过滤掉选项值。