Pet*_*leg 3 php laravel eloquent laravel-nova
在Laravel中,如果要创建自参照关系,可以执行以下操作:
class Post extends Eloquent
{
    public function parent()
    {
        return $this->belongsTo('Post', 'parent_id');
    }
    public function children()
    {
        return $this->hasMany('Post', 'parent_id');
    }
}
Run Code Online (Sandbox Code Playgroud)
如何使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
    ];
}
Run Code Online (Sandbox Code Playgroud)
    您可以这样实现您想要的:
BelongsTo::make('Parent', 'parent', Post::class),
HasMany::make('Children', 'children', Post::class),
Run Code Online (Sandbox Code Playgroud)
创建或更新帖子时,这将允许选择父帖子。当您在帖子的详细信息页面中时,可以看到其所有子级。
public function fields(Request $request)
{
    return [
        Text::make('Autor', 'author'),
        Select::make('Type','type')->options([
            'News' => 'news',
            'Update' =>  'update',
        ]),
        BelongsTo::make('Parent', 'parent', Post::class),
        HasMany::make('Children', 'children', Post::class),
    ];
}
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           880 次  |  
        
|   最近记录:  |