拉拉维尔诺瓦 "Class name must be valid object or string" 关于自我 属于领域



这是我的"标准"资源的代码

class Standard extends Resource
{
    public static $model = '\PackageName\Http\Models\Standard';
    public static $title = 'parent_id';
    public static $search = [
        'id',
    ];
    public function fields(Request $request)
    {
        return [
            ID::make()->sortable(),
            Text::make('ASN Id', 'short_asn_id')
            ->sortable(),
            BelongsTo::make('Parent', 'getParent', 'appNovaStandard'),
            HasMany::make('Children', 'getchildren', 'appNovaStandard'),
        ];
    }
}

和像这样的模型代码=>

public function getParent()
{
    return $this->belongsTo(static::class, 'parent_id');
}
public function getChildren()
{
    return $this->hasMany(static::class, 'parent_id','id');
}

我想在同一张桌子上建立父母关系。不幸的是,我经常获得"类名称必须是有效的对象或字符串"错误。

我尝试传递类名称,例如 app app nova standard :: class 不工作。

我是Nova的新手,无法弄清楚确切的问题。

Nova版本是最新的。Laravel版本为5.7

double检查您的型号&资源名称空间。

为什么您的$model属性中有\?通常,命名空间AppStandard,如果您的名称空间相应地相应地修改。通常,命名空间中的应用程序是资本,AppNovaStandard

class Standard extends Resource
{
    public static $model = 'AppStandard'; // Modify according to your namespace
    ...
    BelongsTo::make('Parent', 'getParent', 'AppNovaStandard'), // Capital A
}

最新更新