我正在尝试找出如何使用Laravel Nova进行看似简单的操作,但我无法弄清楚。
我想做的是在文本字段中引用关系数据。我在Nova中看到了,并了解了如何通过HasOne, HasMany ...
外观引用关系。但是我想做的就是获取这样的关系数据:
Text::make('State', $this->state->name)
这不起作用,尝试调试时我注意到的是,Nova资源中的每个功能似乎都可以运行多次。这是我添加的日志记录:
public function fields(Request $request) {
logger($this->state->name)
}
执行此操作时,有3个日志记录实例,前两个包含状态名称,第三个不包含状态名称。我认为这可能与它不起作用有关,但不知道是什么原因造成的。
预先感谢您的帮助!
答案 0 :(得分:1)
有一种简单的方法可以将关系数据获取到Nova Text
字段中,只需使用闭包即可:
Text::make('State', function() {
return $this->state->name;
})
对于多次调用fields
函数,答案与以下问题有关: Nova文件夹中是否还有与{{1 }}我们正在讨论吗?如果是这样,这就是为什么-它需要调用Resource
才能正确显示它。您可以检查以下查询字符串参数以获得更多信息:Resource
,fields
和viaResource
。