2017-09-20 5 views
1

私はLaravelを使用しており、アプリを作成したいと考えています。あなたが見ることができる場合には、彼に尋ねなければならない別のユーザー情報を見たいとき。彼がはいをクリックした場合、そうでない場合は - いいえ。Laravelアプリのユーザープロフィールの非表示データ

Userモデル::

public function SharedDatas() 
{ 
    return $this->hasMany('App\Models\SharedData'); 
} 

public function getUserById($id) 
{ 
    $user = User::with('user_data','SharedDatas')->where('id', $id)->first(); 

    return $user; 
} 

SharedDataコントローラ:

public function checkIfShared($request) 
    { 
     $shared = SharedData::where('user_id', $request['user_id'])->where('shared_to', $request['user_to_share_id'])->first(); 

     return $shared; 
    } 

    public function shareData($request) 
    { 
     $SharedData = new SharedData; 

     $SharedData->user_id = $request['user_id']; 
     $SharedData->shared_to = $request['user_to_share_id']; 

     $SharedData->save();  

     $SharedData = new SharedData; 

     $SharedData->user_id = $request['user_to_share_id']; 
     $SharedData->shared_to = $request['user_id']; 

     $SharedData->save();  
    } 

しかし、どのようにブレードでデータを表示または非表示にするには私は現在、これを持っていますか?ビューは、共有するユーザーIDと別のユーザーIDについて知っている必要があります。今ではid 1と2のユーザーのみで動作しますが、id 3の場合は動作しません。どのように私はこれに到達できますか?

+0

現在、どのようにデータを表示していますか? – Samsquanch

+0

Sthは$ user [shared_datas] [0]のように表示されますが、id 1と2の間に関係があるのは3つではありません – browinski

答えて

0

このデータを非表示にすることは悪い考えです。

このようなジョブを実行する最善の方法は、javascriptを使用しています。 javascriptを使用すると、ユーザーにデータを動的に送信できます。

もちろん、あなたはそれをPHPで行うことができます。ユーザーメッセージ用のテーブルを作成します。アクセスを許可されたユーザーがメッセージを受け取る必要があるときはいつでもしたがって、dbにメッセージを保存してください。メッセージボックスへのリンクをサイトに入れ、そこにユーザーメッセージを表示します。別のユーザーデータまたはそのデータへの(より良い)リンクをメッセージに入れます。

関連する問題