我在数据库中有两个表playlistsplaylist_songs。最近,播放列表是由权限管理的,但是现在我想允许用户制作自己的播放列表,并且播放列表可以是publicprivate,具体取决于用户的选择。因此,我该如何设计架构,如何使public-playlists对其他用户可见,以及如何向其他用户隐藏private-playlists?请建议我,任何帮助将不胜感激。

最佳答案

您可以通过在表is_public中添加标志字段playlists来实现

因此在数据库表is_public中将字段char(1)添加为playlists

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

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


默认情况下,您可以将is_public Y设置为public,将N设置为private。您可以在创建字段时在数据库中进行设置。

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

无论您在何处获得播放列表以向用户显示播放列表,请使用下面这样的口才来确保其他用户只能查看公共播放列表

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


因此,通过使用这种雄辩的口才,您将只获得选择公开的播放列表。

关于mysql - 从用户端将播放列表设为公开或私有(private),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53532007/

10-12 19:09