我试图弄清楚如何使用 Laravel Nova 做一些看似简单的事情,但我无法弄清楚。
我想要做的是在文本字段中引用关系数据。我在 Nova 中看到,并了解如何通过 HasOne、HasMany ...
外观引用关系。但我想做的是获取这样的关系数据:
Text::make('State', $this->state->name)
这不起作用,我在尝试调试时注意到 Nova 资源中的每个函数似乎都运行了多次。这是我添加的日志记录:
public function fields(Request $request) {
logger($this->state->name)
}
当我这样做时,有 3 个日志记录实例,前 2 个包含状态名称,第三个不包含。我认为这可能与它不起作用有关,但不知道是什么原因造成的。
提前感谢您的帮助!
最佳答案
有一种简单的方法可以将关系数据放入 Nova Text
字段,只需使用闭包即可:
Text::make('状态', function() {
返回$this->状态->名称;
})
至于多次调用 fields
函数,答案与以下问题有关:您的 Nova 文件夹中是否还有另一个 Resource
与我们正在讨论的Resource
相关吗?如果是这样,这就是为什么——它需要调用fields
才能正确显示它。您可以检查以下查询字符串参数以获得更多信息:viaResource
、viaResourceId
和 viaRelationship
。
关于laravel - 如何在 Laravel Nova 中的关系字段之外使用关系数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57997938/