Я собираюсь создать систему настройки формы с Laravel 5.1 LTS. Пользователь может создавать формы, настраивать свои поля и стили, выпускать их, тогда другие пользователи могут заполнить форму.Как сохранить данные json в mysql?
В передней части я собираюсь использовать Alpaca Forms. С помощью этого пакета поля и данные отображаются с помощью json.
Теперь проблема заключается в том, как я могу хранить json и js-файлы json для mysql? (Я действительно не хочу использовать mongodb или другие базы данных nosql, потому что я уже использую mysql сейчас, и я не знаю, как бороться с NoSQL) JSON как это:.
$("#form").alpaca({
"data": {
"name": "Diego Maradona",
"feedback": "Very impressive.",
"ranking": "excellent"
},
"schema": {
"title":"User Feedback",
"description":"What do you think about Alpaca?",
"type":"object",
"properties": {
"name": {
"type":"string",
"title":"Name",
"required":true
},
"feedback": {
"type":"string",
"title":"Feedback"
},
"ranking": {
"type":"string",
"title":"Ranking",
"enum":['excellent','ok','so so'],
"required":true
}
}
},
"options": {
"form":{
"attributes":{
"action":"http://httpbin.org/post",
"method":"post"
},
"buttons":{
"submit":{}
}
},
"helper": "Tell us what you think about Alpaca!",
"fields": {
"name": {
"size": 20,
"helper": "Please enter your name."
},
"feedback" : {
"type": "textarea",
"name": "your_feedback",
"rows": 5,
"cols": 40,
"helper": "Please enter your feedback."
},
"ranking": {
"type": "select",
"helper": "Select your ranking.",
"optionLabels": ["Awesome!",
"It's Ok",
"Hmm..."]
}
}
},
"view" : "bootstrap-edit"
});
я придумал два решения для сохранения переднего плана и один JSON решением для сохранения ДАННЫХ до сих пор, но я не думаю, они достаточно хороши, поэтому я прошу помочь найти лучшего.
Сохранить передний конец JSON:
список всех атрибутов фронтального JSON, создать таблицу с этим и сохранить все значения. Нехорошо распространяться, если пакет меняется, я должен обновить таблицу. вид полевой таблицы похож:
| id | form_id | тип | имя | строки | ... |
разрешить json для массива ключей и сохранить его в базе данных. Нехорошо, если пользователь создаст форму, он добавит много строк в таблицу. вид полевой таблицы похож:
| id | form_id | ключ | стоимость |
сохранить json как атрибут. Я знаю, что Mysql 5.7 может поддерживать json, но я не знаю, есть ли какие-либо другие проблемы с этим. Larvel 5.1 не поддерживает json-поиск. Таблица форматов:
| id | json |
Сохранить Данные в формате JSON:
решительность JSON в массив ключ-значение и сохранить его в базу данных. Нехорошо, если пользователь заполнит форму, он добавит много строк в таблицу. таблица данных выглядит следующим образом:
| id | form_id | ключ | стоимость |
Благодаря ~
Возможный дубликат [Правильный способ хранения данных в базе данных SQL, когда столбцы неизвестны] (http://stackoverflow.com/questions/37109711/correct-way-to-store-data-in-sql-database-when -columns-are-unknown) – e4c5
@ e4c5 да, это дублируется ... Но я использую Laravel 5.1 LTS ... И я не знаю, есть ли какие-либо проблемы с json как атрибутом? – GoneWithSin
@ e4c5 Ответ на этот вопрос не то, что я хочу ... У меня есть некоторые решения, перечисленные ниже, но я не думаю, что они достаточно хороши. поэтому я прошу разрешения BETTER или ОПТИМИЗИРУЮТ ... не просто РЕШЕНИЕ ... и ситуация другая, я использую laravel 5.1, а не Django ... Laravel 5.1 не поддерживает поиск json. – GoneWithSin