从用户端将播放列表设为 public 或私有

Make playlists either public or private from user side

我有两个表playlistsplaylist_songs在database.Recently播放列表是由权限管理的,但现在我想允许用户制作自己的播放列表,播放列表可以是publicprivate 取决于用户的选择。那么,我如何为此设计架构,如何使 public-playlists 对其他用户可见,以及如何对其他用户隐藏 private-playlists?请给我建议,我们将不胜感激。

您可以通过在 table playlists

中添加标记字段 is_public 来实现

所以在您的数据库 table playlists

中将字段 is_public 添加为 char(1)

并且在存储播放列表时,只需根据用户选择将数据添加为 YN 在您的 table 中。

$store_array = [
    // other fields
    'is_public' => 'Y',
];

默认情况下,您可以为 public 设置 is_public Y,为私有设置 N。您可以在创建字段时在数据库中设置它。

要显示,您可以在您显示播放列表的代码中设置如下所示的条件(在网格中或我不知道您在哪里显示播放列表的任何地方)

无论您在哪里获取播放列表以向用户显示,请使用如下所示的 eloquent 以确保其他用户只能查看 public 个播放列表

$playlists = Playlist::get()->where('is_public','=','Y');

因此,通过使用此 eloquent,您将只会获得被选为 public 的播放列表。