Php Laravel helpers多次呼叫不同刀片部件-最佳实践

Php Laravel helpers多次呼叫不同刀片部件-最佳实践,php,laravel,helpers,Php,Laravel,Helpers,我创建了一个助手来获取未读邮件的数量,并在几个刀片服务器上调用该函数 -菜单 -配置文件菜单 那个助手做了一个db查询来获取那个值,当前当我在配置文件之外时,我们只得到一个查询,但是当我在配置文件部分时,因为我们调用了2次该函数,所以我有2个查询,每次调用一个,当我在消息列表上时,我们调用3次 在这种情况下,最好的解决办法是什么?我试图在互联网上搜索一些最佳实践,但什么都找不到 提前谢谢。 巴勃罗 编辑: 辅助函数 function unreadMessages() { $message

我创建了一个助手来获取未读邮件的数量,并在几个刀片服务器上调用该函数 -菜单 -配置文件菜单

那个助手做了一个db查询来获取那个值,当前当我在配置文件之外时,我们只得到一个查询,但是当我在配置文件部分时,因为我们调用了2次该函数,所以我有2个查询,每次调用一个,当我在消息列表上时,我们调用3次

在这种情况下,最好的解决办法是什么?我试图在互联网上搜索一些最佳实践,但什么都找不到

提前谢谢。 巴勃罗

编辑:

辅助函数

function unreadMessages()
{
    $messages = App\Message::select(['*', DB::Raw("IFNULL( `thread_id` , `id` )")])
        ->where(function ($query) {
            $query->where('receiver_id', Auth::user()->id)
                ->where('receiver_delete', false)
                ->where('receiver_read', false);
        })->get()
        ->unique(DB::Raw("IFNULL( `thread_id` , `id` )"));

    return count($messages);
}

然后我在不同的刀片服务器上多次调用该函数

您需要详细说明您的用例。这些是特定于某个用户的未读邮件数还是适用于所有用户的某种全局变量?你为什么要叫它两次或三次?发布一些代码并详细说明应用程序的用例。然后我们可以帮你在帖子上添加一些代码,未读邮件的数量取决于用户有多少未读邮件!您需要详细说明您的用例。这些是特定于某个用户的未读邮件数还是适用于所有用户的某种全局变量?你为什么要叫它两次或三次?发布一些代码并详细说明应用程序的用例。然后我们可以帮你在帖子上添加一些代码,未读邮件的数量取决于用户有多少未读邮件!