【问题标题】:Laravel Nova 3 - Resource Fields Error - BelongsTo - "Trying to get property 'resourceClass' of non-object"Laravel Nova 3 - 资源字段错误 - BelongsTo - “试图获取非对象的属性'resourceClass'”
【发布时间】:2020-06-16 10:40:07
【问题描述】:

我是 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 上遇到了这个建议,但删除车辆服务之间的破折号似乎没有影响 /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

【问题讨论】:

    标签: php laravel laravel-nova


    【解决方案1】:

    这是 Laravel Nova 3.0 的一个已知问题,您可以在此处查看问题跟踪器信息:

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

    【讨论】:

      猜你喜欢
      • 2017-09-02
      • 1970-01-01
      • 1970-01-01
      • 2019-12-08
      • 2016-06-13
      • 2018-06-02
      • 2017-08-20
      • 1970-01-01
      相关资源
      最近更新 更多