gpt4 book ai didi

php - Laravel Nova 自引用关系

转载 作者:行者123 更新时间:2023-12-01 09:43:57 25 4
gpt4 key购买 nike

在 Laravel 中,如果我想创建一个自引用关系,我可以执行以下操作:

class Post extends Eloquent
{
public function parent()
{
return $this->belongsTo('Post', 'parent_id');
}

public function children()
{
return $this->hasMany('Post', 'parent_id');
}
}

如何让 Laravel Nova 资源显示此连接?
public function fields(Request $request)
{
return [
Text::make('Autor', 'author'),
Select::make('Type', 'type')->options([
'News' => 'news',
'Update' => 'update',
]),
BelongsToMany::make('Post') // does not work
];
}

最佳答案

你可以像这样实现你想要的:

BelongsTo::make('Parent', 'parent', \App\Nova\Post::class),

HasMany::make('Children', 'children', \App\Nova\Post::class),
这将允许您在创建或更新帖子时选择父帖子。当您处于帖子的详细信息页面时,您可以看到它的所有子项。
public function fields(Request $request)
{
return [
Text::make('Author', 'author'),
Select::make('Type','type')->options([
'News' => 'news',
'Update' => 'update',
]),
BelongsTo::make('Parent', 'parent', \App\Nova\Post::class),
HasMany::make('Children', 'children', \App\Nova\Post::class),
];
}
备注 : 请注意第三个参数为 BelongsTo::make()HasMany::make()是对 的引用帖子资源 , 不是 Post 模型。

关于php - Laravel Nova 自引用关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53595622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com