2016-06-29 2 views
0

Я пытаюсь создать компоновщик веб-сайтов, где я хочу хранить структуру HTML плагинов/портлетов вручную, где пользователь может иметь структуру и любые редактируемые данные они вставляются, сохраняются в базе данных, используя сериализацию в контроллере, теперь я пришел к выводу, что MySQL не содержит данные html или говорит, что хранить его небезопасно, я решил сохранить базовую структуру в формате JSON в отдельный файл, теперь Я не хочу, чтобы эти JSON-файлы были в моей папке, я прошел через документацию Seeder и учебник, чтобы найти путь к file и получить данные JSON. Также прошли через эту tutorialКак получить html-коды в mysql или json в laravel с помощью сеялки

и наткнулся на следующий класс:

<?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.. 
     )); 
     } 
    } 

} 

?> 

ли это правильный способ выполнения этого? и назвав его в блейд-файл, например, у меня есть mixstyles от имени, если идентификатор темы/портлета в gulpfile я могу так:

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

ответ

1

Я думаю, что лучший способ сделать это управлять HTML-код в передней части (используя лезвие). Получить набор данных из DB & создать динамические страницы в интерфейсе.

Вы можете проектировать отдельные файлы лезвий & загружать динамически.

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

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

Если вы хотите сохранить данные json в mysql DB, перейдите по ссылке.

How to Use JSON Data Fields in MySQL Databases