0

ユーザーがコメントで別のユーザーに言及するNeoEloquentを使用して、ポリモーフィックな関係/ハイパーエッジに苦労しています。それはのようなものです:

(u1:User)-[:Mentions]-(u2:User)-[:IN]-(c:Comment)

私の目標は、特定のユーザーが言及されたすべてのコメントと、このユーザーに言及したコメントをすべて見つけることです。私のモデルは次のようになります。

UxUser モデル:

public function mentionFriend(NeoEloquent $comment=null) : HyperMorph
{
    return $this->hyperMorph($comment, UxUser::class, 'Mentions', 'IN');
}


public function whoMentioned():BelongsToMany {
    return $this->belongsToMany(UxUser::class, 'Mentions');
}

public function whichComment(){
    return $this->morphMany(Comment::class,'IN');
}

コメントモデルには次のものがあります。

public function whoIsMentioned():MorphMany{
        return $this->morphMany(UxUser::class,'IN');
    }

以下の行を使用すると、このユーザーに言及したすべてのユーザーを正しく取得できますが、$comments コレクションには、このユーザーが言及された多くのコメントのうちの 1 つしか含まれていません。

$user=Auth::user();
$who=$user->whoMentioned;
//dd($who);
$comment=$user->whichComment;
dd($comment);

これに関する提案はありますか?前もって感謝します

4

0 に答える 0