Laravel:如何从数据库创建变量并访问 blade 中的值

Laravel: How to create variables from database and access values in blade

我有一个 problem/designing 问题要问 laravel 5.4 专家。

我有一个不同的网站"companies": 例如。com/company1 例如。com/company2等

我有一个 table "companies",其中包含公司的数据,例如("id"、"name" 等)。该页面使用 blade 模板显示。

我现在喜欢在每个页面上有一组 "sections"。像 "company_history"、"company_employees" 等。这些部分应该由我的管理仪表板定义,因为会不时添加新部分。我在 table "sections" 中定义了这些部分,其中有一个 "sectionId" 和一个 "name" 列。

此外,我还有一个 table "content",其中包含列 "id"、"companyId" 和 "sectionId" 以及 "content"。

我现在想通过在视图模板中使用 {{ $content['company_history'] }} 之类的内容来显示当前公司的内容。

目前,我通过遍历 "sections" 的每个项目并从 "content" table 中获取每个值的内容,在该页面的控制器中创建了一个数组。 'content' 列包含应显示的内容。

有更好的解决方案吗? 我已经尝试在模型中使用 "belongsToMany",但我认为这仅适用于 "real" pivot tables.

有什么想法吗?我愿意接受任何解决方案:)

谢谢!

有几种方法可以解决这个问题。您可能喜欢的懒惰解决方案是将其序列化到公司的一个列中。

参见:https://laravel.com/docs/5.4/eloquent-mutators#array-and-json-casting

这避免了单独表和联接的所有问题。

如果您需要按内容(例如产品属性)进行搜索,这并不理想,但在您的情况下,这应该不是问题。