0

ユーザーがすでに気に入ったかどうかに応じて、ステータスの好き嫌いを設定する方法は? 似ているものと似ていないものを見つけるために、基準または動的ファインダーまたは gsp の各ループを使用する必要がありますか?

私のアプリのモデルは次のようになります。

Statusドメインには多くのlikes
like所属がuserあり、status
user多くのドメインがstatusあり、likes

 <g:each in="${statusInstanceList}" status="i" var="statusInstance">
 ${fieldValue(bean: statusInstance, field: "statusMessage")}

 <g:each var="likeInstance" in="${statusInstance.like}">
  <g:set var="likesSize" value="${statusInstance.like?.size()}"/>
   $likesSize
 </g:each>

 </g:each>

$likesSizeステータスのいいね数を出力します。(@dmahapatro に感謝)

セッションユーザーがステータスをすでに気に入っているかどうかを確認し、それに基づいて好き/嫌いを示す必要があります。

更新: 以下の if ステートメントを使用すると、like と like が異なるようになりました。

<g:each in="${statusInstance.like?.userAccountId}" status="p" var="userlike">
                      <g:if test="${userlike == session.selectedUser?.id || statusInstance.like?.statusId == statusInstance.id}">
                        Unlike
                      </g:if>
                      Like
                      </g:each>
4

2 に答える 2

1

私はただアイデアを捨てています:

user.likeユーザーの好きなものをすべて提供します。
status.likeステータスのすべての同類をあなたに与えるでしょう。

ユーザーの「いいね」がステータスの「いいね」でもあるかどうかを調べることはできませんか?

Likeと の両方に属するa を見つける必要がありUserますStatus

于 2013-06-26T14:10:40.860 に答える
0

これには、単純な動的ファインダーを使用できるようです。

Like.findByUserAndStatus(user, status)

これが結果を返す場合、ユーザーはそのステータスを気に入っています。

于 2013-06-26T20:29:19.217 に答える