0

だから私はこの部分で少し迷っています。私のサイトでは、ユーザーがプロフィールページを高く評価できるようにしたいと思います。

だから私の論理はこれです。、という名前のデータベーステーブルがあります。user_likesこれには3つの行が含まれていますid, user_id, liked_by

実際のプロフィールページには、「いいね」ボタンがあり、「いいね」のクラスがあります。ユーザーがそれをクリックすると、にデータが挿入されuser likes table、ボタンのテキストがajaxとは異なり、クラスもとは異なります。そして、これは私が立ち往生している部分です。

そのため、プロファイルには、has many relation likes受け取ったいいねを数えることができますが、ページの更新後にボタンを無効に保つ方法については、その部分で立ち往生しています。

私のロジックはこれだったので(しかし失敗しました):ボタンをクリックし、ajaxでデータを挿入し、ajaxでボタンを変更し、idでいいねを取得し、それがログインしたユーザーIDと等しい場合は、ボタンを使用しないでください。

しかし、それは配列のリストを返すので、私はそれを行うことができません。

だから私は誰にもそれをコーディングしてほしくない。それが大きな要求でなければ、これについてのヒントが欲しい。

4

1 に答える 1

1

あなたがFuelPHPフォーラムに同じ質問を投稿しているのを見たので、ここで別の解決策を提供しようと思います。

なぜあなたの関係は「id、user_id、liked_by」を必要としますか?私はあなたがあなたのテーブルを少し修正してあなたのデータベースを改善することができると思います。

あなたの質問を読んで私はあなたがそのような構造を持っていると思います:

// USER TABLE
id
username
... something more

「LIKE」という名前のテーブルを作成すると、次のような状況になります。

// LIKE
id
created_at
modified_at
... something more

これで、「users_likes」という名前のテーブルを使用して多対多の関係を作成できます。

// USERS_LIKES 
profile_id   // it wil be related to the user_id, is the user's profile being liked
liker_id     // it will be the user_id of the user that likes the profile

したがって、同類の数を取得したい場合は、現在のユーザーモデルまたはプロファイルユーザーモデルのすべての情報があります。

于 2012-11-19T14:10:02.880 に答える