无法理解在哪里注册字段
Trouble understanding where to register fields
我正在安装这个 Nova 包:https://novapackages.com/packages/classic-o/nova-media-library 并且无法确定将这段代码块放在哪里:
向资源添加字段:
use ClassicO\NovaMediaLibrary\MediaLibrary;
class Post extends Resource
{
...
public function fields(Request $request)
{
return [
...
MediaLibrary::make('Image'),
...
];
}
...
}
我环顾四周,但对 Laravel 还很陌生,所以我有点困惑。我知道这是一个字段,所以我看了这里:https://nova.laravel.com/docs/1.0/resources/fields.html#place-field,但不太了解可以注册这些的位置。
我很欣赏这里的任何见解或背景。谢谢!
对于 Laravel Nova,他们试图让一切变得尽可能简单。因此,Resource
是将所有功能添加到 Model
的原因,而 Model
代表(以某种方式)数据库中的 table。资源只是从 Resource
扩展而来的 class,并且具有一些功能才能完全发挥作用。
因此,在您的示例中,您应该有一个名为 Post
的 Model
,显示的代码是一个名为 Post
的不完整 Resource
(这就是为什么您选择这些功能前后三点)。当您阅读 Resource
文档时,您会看到函数 fields()
总是 returns 一个 Fields
的数组。代码
MediaLibrary::make('Image')
确实是一个字段,这就是为什么它在数组中的原因。您拥有的代码只是一个示例,其目的是说明 MediaLibrary
字段可以用作任何其他字段。我强烈建议您花足够的时间阅读有关 Models, Eloquent, Resources and Fields.
的内容
我正在安装这个 Nova 包:https://novapackages.com/packages/classic-o/nova-media-library 并且无法确定将这段代码块放在哪里:
向资源添加字段:
use ClassicO\NovaMediaLibrary\MediaLibrary;
class Post extends Resource
{
...
public function fields(Request $request)
{
return [
...
MediaLibrary::make('Image'),
...
];
}
...
}
我环顾四周,但对 Laravel 还很陌生,所以我有点困惑。我知道这是一个字段,所以我看了这里:https://nova.laravel.com/docs/1.0/resources/fields.html#place-field,但不太了解可以注册这些的位置。
我很欣赏这里的任何见解或背景。谢谢!
对于 Laravel Nova,他们试图让一切变得尽可能简单。因此,Resource
是将所有功能添加到 Model
的原因,而 Model
代表(以某种方式)数据库中的 table。资源只是从 Resource
扩展而来的 class,并且具有一些功能才能完全发挥作用。
因此,在您的示例中,您应该有一个名为 Post
的 Model
,显示的代码是一个名为 Post
的不完整 Resource
(这就是为什么您选择这些功能前后三点)。当您阅读 Resource
文档时,您会看到函数 fields()
总是 returns 一个 Fields
的数组。代码
MediaLibrary::make('Image')
确实是一个字段,这就是为什么它在数组中的原因。您拥有的代码只是一个示例,其目的是说明 MediaLibrary
字段可以用作任何其他字段。我强烈建议您花足够的时间阅读有关 Models, Eloquent, Resources and Fields.