无法从频道中删除 laravel_database_ 前缀

我正在设置 Laravel echo 来广播事件。但是每当我尝试向频道广播时,频道名称都会获得一个自动前缀:'laravel_database_'


我尝试将事件内部的返回切换为常规的“香奈儿”,如下所示:


public function broadcastOn()

{

return new Channel('public');

}

但是当我查看 laravel-echo-server 日志时,我发现它仍在广播:'laravel_database_public'。


这样我就需要在我的 JS 中执行以下操作:


Echo.channel('laravel_database_public').listen('MessageSent', ({message}) => {

                console.log(message);

            });

但是,当然,我想删除前缀(或弄清楚为什么在那里)。希望有人能帮我解决这个问题。提前致谢。


暮色呼如
浏览 141回答 3
3回答

ibeautiful

这是在config/database.php(我相信甚至可移动)下配置的'redis' => [    'options' => [        'prefix' => // change here.    ]]

人到中年有点甜

解决方案是让整个 Redis Laravel 配置保持不变,并^1.6.0使用配置文件中的正确keyPrefix选项运行laravel-echo-server版本laravel-echo-server.json:{   "databaseConfig": {     "redis": {       "keyPrefix": "laravel_database_"      }  }}

潇湘沐

在 Laravel 7 中,config/database.php看起来像这样'redis' => [        'client' => env('REDIS_CLIENT', 'predis'),        'options' => [            'cluster' => env('REDIS_CLUSTER', 'redis'),            'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_') . '_database_'),        ],    ]因此,它会在.env文件中搜索您的REDIS_PREFIX变量,如果没有,则它会生成laravel_database_或基于您APP_NAME在.env文件中设置的任何内容。您所要做的就是设置您的REDIS_PREFIX. 您可以将其留空,以便根本没有前缀。
打开App,查看更多内容
随时随地看视频慕课网APP