代码之家  ›  专栏  ›  技术社区  ›  Andreas Hunter

Laravel:如何为每个用户使用单独的模板?

  •  1
  • Andreas Hunter  · 技术社区  · 7 年前

    我有许多登录页模板,我想保存所有模板(布局)的数据库名称。如何从数据库中获取布局名称并进行扩展。例如,我有一个示例数据库结构:

    Table `users`
    Table `themes`
    Table `configurations`
    

    在表上,用户和主题具有用户数据和主题名称。和表 configurations 具有示例结构:

    id
    user_id
    theme_id
    

    如何从中获取主题名称 配置 表然后从扩展所需的布局 views 文件夹

    1 回复  |  直到 7 年前
        1
  •  3
  •   Alexey Mezenin    7 年前

    这取决于你所使用的关系。我想最好的选择是使用多对多。获取模板名称,例如:

    $template = Theme::whereHas('users', function($q) {
            $q->where('id', auth()->id());
        })
        ->value('name');
    

    然后将变量传递给视图并按如下方式扩展:

    @extends($template)