2017-02-25 104 views
0

我遇到了laravel 5.4专家的问题/设计问题。Laravel:如何在刀片中创建数据库和访问值的变量

我已经与不同的“公司”网站: example.com/company1 example.com/company2等

我有一个表格“公司”,它包括了针对企业的数据( “id”,“name”等)。该页面使用刀片模板显示。

我现在想在每个页面上都有一组“节”。像“company_history”,“company_employees”等。这些部分应该由我的管理员仪表板定义,因为新部分会不时添加。我将这些部分定义在具有“sectionId”和“name”列的表“sections”中。

此外,我有一个表“内容”,其中有“id”,“companyId”和“sectionId”和“内容”列。

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

目前,我通过遍历每个“部分”项目并从“内容”表中获取每个值的内容,在该页面的控制器中创建一个数组。 “内容”列包含应显示的内容。

有没有更好的解决方案来做到这一点? 我已经尝试在模型中使用“belongsToMany”,但我认为这只适用于“真正的”数据透视表。

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

谢谢!

回答

0

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

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

这样就避免了所有单独的表的问题和加入。

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

+0

谢谢。它的工作很好,对我的情况来说是一个很好的解决方案! – Tobi