Laravel Nova 3 - Ошибка полей ресурса - BelongsTo - «Попытка получить свойство 'resourceClass' не-объекта» - PullRequest
0 голосов
/ 16 июня 2020

Я новичок в Laravel Nova и пока считаю его хорошим, однако в некоторых из моих полей ресурсов я использую «BelongsTo :: make» для ссылки на отношения, которые были определены в модели.

Он хорошо работает на странице указателя, которая показывает транспортное средство, на которое он ссылается, и на страницах обновления и создания, я ожидаю увидеть ввод выбора, сгенерированный с помощью, чтобы пользователь мог выбрать, какой автомобиль он хочет, однако , Я получаю следующую ошибку:

Попытка получить свойство 'resourceClass' не-объекта

Любая помощь приветствуется.

Таблица

CREATE TABLE `vehicle_service` (
    `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
    `vehicle_id` INT(11) NOT NULL,
)

CREATE TABLE `vehicles` (
    `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
)

Laravel Модель

class VehicleService extends Model
{

    protected $table = 'vehicle_service';

    protected $casts = [
        'last_service_date' => 'date',
    ];

    public function vehicle() {
        return $this->belongsTo(Vehicle::class, 'vehicle_id');
    }

}

Laravel Ресурс Nova

class VehicleService extends Resource
{

    public static $model = \App\Models\VehicleService::class;

    public function fields(Request $request)
    {
        return [
        ];
    }

    public function fieldsForIndex(NovaRequest $request)
    {
        return [
            BelongsTo::make('Vehicle', 'vehicle', 'App\Nova\Vehicle')
            ->rules('required')
            ->viewable(false),
        ];
    }

    public function fieldsForDetail(NovaRequest $request)
    {
        BelongsTo::make('Vehicle', 'vehicle', 'App\Nova\Vehicle')
        ->viewable(false),
    }
}

Путь к API Я наткнулся на это предложение на GitHub , но удаление da sh между транспортными службами, похоже, не влияет /nova-api/vehicle-services/associatable/vehicle?first=false&search=&withTrashed=false&resourceId=2&viaResource=&viaResourceId=&viaRelationship=

Версии:

  • PHP - v7.4.5
  • Laravel - v7.15.0
  • Nova - v3.6.0

1 Ответ

0 голосов
/ 29 июля 2020

Это известная проблема с Laravel Nova 3.0, вы можете проверить информацию в системе отслеживания проблем здесь:

https://github.com/laravel/nova-issues/issues/2770

...