#arrays #json #laravel
#массивы #json #laravel
Вопрос:
У меня есть ввод формы с помощью переключателя, подобного этому `
<form class="form-group" action="/user" method="post">
<table class="table table-striped">
<tbody><tr>
<th style="width: 10px">#</th>
<th>Pertanyaan</th>
<th style="width: 60px">Tidak Baik</th>
<th style="width: 60px">Baik</th>
</tr>
<tr>
<td>1.</td>
<td><input style="border:none" type="text" name="text1" value="Periksa kondisi kelistrikan dan kabel ,pastikan tidak ada yang terkelupas"></td>
<td>
<label><input type="radio" name="input1" value="false" checked></label>
</td>
<td>
<label><input type="radio" name="input1" value="true"></label>
</td>
</tr>
<tr>
<td>2.</td>
<td><input style="border:none" type="text" name="text2" value="Periksa kondisi kabel dan tempat sambungan"></td>
<td>
<label><input type="radio" name="input2" value="false" checked></label>
</td>
<td>
<label><input type="radio" name="input2" value="true"></label>
</td>
</tr>
<tr>
<td>3.</td>
<td><input style="border:none" type="text" name="text3" value="Periksa kondisi pencetakan (tinta dan kertas printer)"> </td>
<td>
<label><input type="radio" name="input3" value="false" checked></label>
</td>
<td>
<label><input type="radio" name="input3" value="true"></label>
</td>
</tr>
<tr>
<td>4.</td>
<td> <input style="border:none" type="text" name="text4" value="Fix and squish bugs"> </td>
<td>
<label><input type="radio" name="input4" value="false" checked></label>
</td>
<td>
<label><input type="radio" name="input4" value="true"></label>
</td>
</tr>
<input type="hidden" name="alat_id" value="1">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
</tbody>
</table>
<div class="box-footer">
<button type="submit" class="btn btn-primary" name="name" value="post">Submit</button>
</div>
</form>
Из этого ввода у меня есть результаты (случайно допустил ошибку)
Среда и подробности:
GET Data empty
POST Data
question1
"Periksa kondisi kelistrikan dan kabel ,pastikan tidak ada yang terkelupas"
answer1
"false"
question2
"Periksa kondisi kabel dan tempat sambungan"
answer2
"false"
question3
"Periksa kondisi pencetakan (tinta dan kertas printer)"
answer3
"false"
question4
"Fix and squish bugs"
answer4
"false"
alat_id
"1"
_token
"buno7LyZ9PLaq3ByKpDYlNz0TuaagV8HPbhqznT8"
name
"post"
Я хочу ввести это в БД, в таблицу ‘Pemeliharaan’, столбец ‘Pertanyaan’.
И я хочу добавить эту таблицу полей следующим образом :
{ "question 1":"true", "question 2":"false",
"question 3":"true", "question 4":"false",
"question 5":"true" }
Я хочу сохранить таким образом, потому что я хочу преобразовать это в данные json.
Мой контроллер :
public function store(Request $request)
{
$user = new pemeliharaa;
$id = Auth::user()->id;
$user->user_id = $id;
$user->alat_id = $request->alat_id;
$user->pertanyaan ="";/in here i dont know what i do
$user->catatan = "empty";
$user->status = "week";
$user->save();
dd($user);
}
кто-нибудь может мне помочь?
Комментарии:
1. Вам нужно будет создать таблицу «один на много вопросов». В качестве альтернативы, если количество вопросов фиксировано, вы могли бы добавить поля question1, answer1, q2, a2, … в существующую таблицу.
Ответ №1:
просто используйте json_encode()
public function store(Request $request)
{
$user = new pemeliharaa;
$id = Auth::user()->id;
$user->user_id = $id;
$user->alat_id = $request->alat_id;
$user->pertanyaan = json_encode($request->except(['_token']));
$user->catatan = "empty";
$user->status = "week";
$user->save();
dd($user);
}
$request->only(['question', 'answer']);
Комментарии:
1. это работает, но этот формат выглядит следующим образом {«вопрос1»: «что вы делаете», «ответ1»: «false»} , могу ли я отредактировать это в {«вопрос 1»: «true»} . ??
2. о, я знаю, мне просто нужно больше $request-> expect
3. вы можете использовать только для определенных входных данных $request->only([‘вопрос’, ‘ответ’]);