Я создаю заказную упаковку.В MyPackageServiceProvider я могу зарегистрировать новые ресурсы Nova:
public function register()
{
// snip
Nova::resources([
Page::class,
Paragraph::class,
]);
}
Ресурсы отображаются на Nova, я могу их редактировать, поля в порядке.Я установил отношения между ними (страница может иметь несколько параграфов).На внешнем интерфейсе сайта все работает, как и ожидалось.
Моя проблема заключается в том, что я пытаюсь установить связь между ресурсами в Nova.Похоже, что пространство имен подключенного ресурса неверно:
class Paragraph extends Resource
{
public static $model = 'myvendor\\mypackage\\app\\Models\\Paragraph';
public function fields(Request $request)
{
return [
BelongsTo::make('Page'), // String | Class name must be a valid object or string
BelongsTo::make(Page::class) // NovaResource | Class myvendor\mypackage\app\Nova\Myvendor\mypackage\app\Nova\Page not found (notice the capital letter in the second occurrence of Myvendor)
BelongsTo::make('Page', 'page', \myvendor\mypackage\app\Nova\Page::class) // Class name must be a valid object or string
BelongsTo::make('Page', 'page', myvendor\mypackage\app\Nova\Page::class) // Class name must be a valid object or string
];
}