我正在使用Laravel,我想构建应用程序。当您想要查看其他用户信息时,您必须询问他是否可以看到。如果他点击是你可以,如果没有 - 不。我现在有这个:
用户模型:
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 controller:
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();
}
但如何在刀片中显示或隐藏数据? View应该知道用户ID和要共享的另一个用户ID。现在它只适用于id为1和2的用户,当id为3时,它不起作用。我怎么能达到这个目标?
答案 0 :(得分:0)
隐藏这些数据是一个坏主意!
做这些工作的最好方法是使用javascript。使用javascript,您可以动态地向用户发送数据。
当然你可以用php做到这一点。为用户消息创建一个表。每当授予访问权限的用户都应收到消息。所以在db中保存消息。在站点中放置消息框的链接并在那里显示用户消息。在邮件中放置另一个用户数据或(更好)链接到该数据。