Php Arcanedev\LaravelNestedSet\NodeTrait appendToNode()错误

Php Arcanedev\LaravelNestedSet\NodeTrait appendToNode()错误,php,laravel,Php,Laravel,我第一次将嵌套集与一起使用。 我正在遵循一个规则,并相应地设置我的模型。但是当我调用create方法时,它会给出以下错误 Symfony\Component\Debug\Exception\FatalThrowableError抛出消息“参数1传递给App\Models\AmazonCategoryIndices::appendToNode()必须是Arcanedev\LaravelNestedSet\Contracts\nodable的实例,App\Models\amazoncategoryi

我第一次将嵌套集与一起使用。
我正在遵循一个规则,并相应地设置我的模型。但是当我调用
create
方法时,它会给出以下错误

Symfony\Component\Debug\Exception\FatalThrowableError抛出消息“参数1传递给App\Models\AmazonCategoryIndices::appendToNode()必须是Arcanedev\LaravelNestedSet\Contracts\nodable的实例,App\Models\amazoncategoryindice的实例,在第1074行的E:\TestProjects\pld-v4-admin\vendor\Arcanedev\laravel nestedset\src\NodeTrait.php中调用”

我使用的数据与教程中的数据相同

这是我的模型

==================================

namespace App\Models;
use Arcanedev\LaravelNestedSet\NodeTrait;
use Illuminate\Database\Eloquent\Model;
class AmazonCategoryIndices extends Model
{
   protected $table = 'amazon_category_indices';
   protected $guarded = [];   
   use NodeTrait;
}
foreach ($shops as $key => $value) {
  AmazonCategoryIndices::create($value);
}
==================================

namespace App\Models;
use Arcanedev\LaravelNestedSet\NodeTrait;
use Illuminate\Database\Eloquent\Model;
class AmazonCategoryIndices extends Model
{
   protected $table = 'amazon_category_indices';
   protected $guarded = [];   
   use NodeTrait;
}
foreach ($shops as $key => $value) {
  AmazonCategoryIndices::create($value);
}

根据错误消息,传递给
App\Models\AmazonCategoryIndices::appendToNode()
的参数是
App\Models\AmazonCategoryIndices
的实例,而它需要的是
Arcanedev\LaravelNestedSet\Contracts\nodable的实例

因此,在模型中添加contract
Arcanedev\LaravelNestedSet\Contracts\nodable
应该可以解决您的错误


名称空间应用程序\模型;
使用Arcanedev\LaravelNestedSet\NodeTrait;
使用Illumb\Database\Elount\Model;
使用Arcanedev\LaravelNestedSet\Contracts\nodable;
类AmazonCategoryDices扩展模型实现可节点化
{
受保护的$table='亚马逊分类索引';
受保护的$guarded=[];
使用NodeTrait;
}
当您说:“ARCANEDEV/LaravelNestedSet”包在其后端使用“lazychaser/LaravelNestedSet”

…不是。它们是两个不同的包,工作原理不同。阿卡内德夫赞扬了lazychaser的工作,他可能在这方面使用了大量资源。

已经说过了,我不建议使用arcanedev的包,因为它似乎没有得到维护。

您的教程是指,但在您的代码中,我看到“arcanedev/LaravelNestedSet”包在其后端使用“lazychaser/laravel nestedset”。我不确定您的说法