我在数据库中有两个表playlists
和playlist_songs
。最近,播放列表是由权限管理的,但是现在我想允许用户制作自己的播放列表,并且播放列表可以是public
或private
,具体取决于用户的选择。因此,我该如何设计架构,如何使public-playlists
对其他用户可见,以及如何向其他用户隐藏private-playlists
?请建议我,任何帮助将不胜感激。
最佳答案
您可以通过在表is_public
中添加标志字段playlists
来实现
因此在数据库表is_public
中将字段char(1)
添加为playlists
在存储播放列表时,只需根据用户选择在表中将数据添加为Y
或N
。
$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/