Я новичок в 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