Laravel: 如何为每个用户使用单独的模板?
Laravel: How to use a separate template for each user?
我有很多着陆页模板,我想将所有模板(布局)名称保存在数据库中。我如何从数据库中获取布局名称并进行扩展。例如我有示例数据库结构:
Table `users`
Table `themes`
Table `configurations`
在 table 上,用户和主题具有用户数据和主题名称。并且 table configurations
具有示例结构:
id
user_id
theme_id
如何从 configurations
table 获取主题名称,然后从 views
文件夹扩展所需的布局?
这取决于您使用的关系。我猜这里的好选择是使用 many-to-many 。获取模板名称,例如:
$template = Theme::whereHas('users', function($q) {
$q->where('id', auth()->id());
})
->value('name');
然后将变量传递给视图并像这样扩展它:
@extends($template)
我有很多着陆页模板,我想将所有模板(布局)名称保存在数据库中。我如何从数据库中获取布局名称并进行扩展。例如我有示例数据库结构:
Table `users`
Table `themes`
Table `configurations`
在 table 上,用户和主题具有用户数据和主题名称。并且 table configurations
具有示例结构:
id
user_id
theme_id
如何从 configurations
table 获取主题名称,然后从 views
文件夹扩展所需的布局?
这取决于您使用的关系。我猜这里的好选择是使用 many-to-many 。获取模板名称,例如:
$template = Theme::whereHas('users', function($q) {
$q->where('id', auth()->id());
})
->value('name');
然后将变量传递给视图并像这样扩展它:
@extends($template)