1

Neo4j の新しいプロジェクトに Vinelab\NeoEloquent を使用しています。私は、人々が(ノードとして)興味を提供できる登録をしています。登録時、最初にユーザーが作成され、次に興味が作成されます (存在しない場合)。ユーザーから興味ノードへの "Interested_In" の関係が与えられます。

私が抱えている問題は、関心が既に存在する場合 (名前プロパティで一意) であり、作成された人物と関心ノードから関係を作成したいだけです。

私のピープルモデルには次のものがあります(1人が多くの興味を持つことができるため):

  public function interest(){
        return $this->hasMany('App\Models\Interest','Interested_In');
    }

私のリポジトリの作成ユーザー関数には、興味を検索し、存在する場合はそれを返すセクションがあります。問題は、People から Interest への realtionship を作成する方法がわからないことです。として保存しようとします

 $interests = explode(',',$input['tags']);

        $int = new NeoInterestRepository();
        foreach($interests as $interest){
            $existing = $int->find($interest);
            if(count($existing)){
                $person->interest()->save($existing);
            }else{
                $my_interest = $int->create($interest);
                $person->interest()->save($my_interest);
            }

        }

しかし、「Vinelab\NeoEloquent\Eloquent\Relations\HasOneOrMany::save() に渡される引数 1 は、指定された Illuminate\Database\Eloquent\Model のインスタンスである必要があります」と表示されます。

Associate() 関数が表示されますが、適用されないように見える BelongsTo のみです。

何か案は?

4

0 に答える 0