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

时间:2018-02-16 05:27:42

标签: laravel laravel-blade

我有很多登陆页面模板,我希望在数据库中保存所有模板(布局)名称。我如何从数据库获取布局名称并进行扩展。例如,我有示例数据库结构:

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

在桌面上,用户和主题具有用户数据和主题名称。表configurations具有样本结构:

id
user_id
theme_id

如何从configurations表格获取主题名称,然后从views文件夹扩展所需的布局?

1 个答案:

答案 0 :(得分:3)

这取决于您正在使用的关系。这里的好选择是使用多对多我猜。获取模板名称,例如:

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

然后将变量传递给视图并像这样扩展:

@extends($template)