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 のみです。
何か案は?