如何使用播种器在 mysql 或 json 中使用 html 代码在 laravel 中

how to have html codes in mysql or json in laravel using seeder

我正在尝试构建一个网站构建器,我想在其中手动存储 plugins/portlets 的 HTML 结构,用户可以在其中拥有该结构以及他们插入的任何可编辑数据,获取在控制器中使用序列化存储到数据库中,现在我知道 MySQL 不保存 html 数据或者说存储不安全,我决定将基本结构存储到 JSON格式化为单独的文件,现在我不想将这些 JSON 文件放在我的 public 文件夹目标中,我浏览了 Seeder 文档和教程以找到 file and get the JSON data. Also went through this tutorial

并遇到以下 class:

<?php

use Illuminate\Database\Seeder;
use App\User;

class PortletTableSeeder extends Seeder {

   public function run()
   {
      $json = File::get("database/data/portlets.json");
      $data = json_decode($json);
      foreach ($data as $obj) {
          'id' => $obj->id,
          'html_code' => $obj->html_code,
          'dummy_data' => $obj->dummy_data,
          //more objects..
         ));
       }
    }

}

?>

这是正确的执行方式吗?并将其调用到 blade 文件中,例如如果 gulpfile 中 theme/portlet 的 id 我有 mixstyles 的名称,我可以这样吗:

<link href="css/{{$id}}.css" rel="stylesheet" type="text/css" />

我认为最好的方法是在前端管理 HTML 代码(使用 blade)。从数据库获取数据集并在前端创建动态页面。

您可以设计单独的 blade 文件并动态加载。

public function create()
{
   $data = Portlet::get();

   if(condition)
       return view('design.form1',compact('data'));
   else
       return view('design.form2',compact('data'));
}

如果您想在 mysql 数据库中保留 json 数据,请遵循 link。

How to Use JSON Data Fields in MySQL Databases