[英]How to store and retrieve associative array from database Laravel
我正在尝试存储每一天的统计数据和结束时间。 这些 Select 元素指的是“开始时间”和“结束时间”我能够获取这些值,但我不确定如何在我的视图中存储和检索它们。 我通过将 arrays 与天数分别组合然后json_encode
来存储它们,但我无法检索它们。
存储刀片视图
<div class="form-check">
<input class="form-check-input" type="checkbox" name="days[]" value="Monday" id="flexCheckDefault">
<label class="form-check-label" for="flexCheckDefault">
Monday
</label>
<div class="reveal-if-active">
<div class="row">
<div class="col-md-4">
<label for="which-dog">From</label>
<select name="from[]" class="form-control">
<option value="1">01:00</option>
<option value="2">02:00</option>
<option value="3">03:00</option>
<option value="4">04:00</option>
<option value="5">05:00</option>
<option value="6">06:00</option>
<option value="7">07:00</option>
<option value="8">08:00</option>
<option value="9">09:00</option>
<option value="10">10:00</option>
<option value="11">11:00</option>
<option value="12">12:00</option>
<option value="13">13:00</option>
<option value="14">14:00</option>
<option value="15">15:00</option>
<option value="16">16:00</option>
<option value="17">17:00</option>
<option value="18">18:00</option>
<option value="19">19:00</option>
<option value="20">20:00</option>
<option value="21">21:00</option>
<option value="22">22:00</option>
<option value="23">23:00</option>
<option value="24">24:00</option>
</select>
</div>
<div class="col-md-4">
<label for="which-dog">To</label>
<select name="to[]" class="form-control">
<option value="1">01:00</option>
<option value="2">02:00</option>
<option value="3">03:00</option>
<option value="4">04:00</option>
<option value="5">05:00</option>
<option value="6">06:00</option>
<option value="7">07:00</option>
<option value="8">08:00</option>
<option value="9">09:00</option>
<option value="10">10:00</option>
<option value="11">11:00</option>
<option value="12">12:00</option>
<option value="13">13:00</option>
<option value="14">14:00</option>
<option value="15">15:00</option>
<option value="16">16:00</option>
<option value="17">17:00</option>
<option value="18">18:00</option>
<option value="19">19:00</option>
<option value="20">20:00</option>
<option value="21">21:00</option>
<option value="22">22:00</option>
<option value="23">23:00</option>
<option value="24">24:00</option>
</select>
</div>
</div>
</div>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="days[]" value="Tuesday" id="flexCheckChecked">
<label class="form-check-label" for="flexCheckChecked">
Tuesday
</label>
<div class="reveal-if-active">
<div class="row">
<div class="col-md-4">
<label for="which-dog">From</label>
<select name="from[]" class="form-control">
<option value="1">01:00</option>
<option value="2">02:00</option>
<option value="3">03:00</option>
<option value="4">04:00</option>
<option value="5">05:00</option>
<option value="6">06:00</option>
<option value="7">07:00</option>
<option value="8">08:00</option>
<option value="9">09:00</option>
<option value="10">10:00</option>
<option value="11">11:00</option>
<option value="12">12:00</option>
<option value="13">13:00</option>
<option value="14">14:00</option>
<option value="15">15:00</option>
<option value="16">16:00</option>
<option value="17">17:00</option>
<option value="18">18:00</option>
<option value="19">19:00</option>
<option value="20">20:00</option>
<option value="21">21:00</option>
<option value="22">22:00</option>
<option value="23">23:00</option>
<option value="24">24:00</option>
</select>
</div>
<div class="col-md-3">
<label for="which-dog">To</label>
<select name="to[]" class="form-control">
<option value="1">01:00</option>
<option value="2">02:00</option>
<option value="3">03:00</option>
<option value="4">04:00</option>
<option value="5">05:00</option>
<option value="6">06:00</option>
<option value="7">07:00</option>
<option value="8">08:00</option>
<option value="9">09:00</option>
<option value="10">10:00</option>
<option value="11">11:00</option>
<option value="12">12:00</option>
<option value="13">13:00</option>
<option value="14">14:00</option>
<option value="15">15:00</option>
<option value="16">16:00</option>
<option value="17">17:00</option>
<option value="18">18:00</option>
<option value="19">19:00</option>
<option value="20">20:00</option>
<option value="21">21:00</option>
<option value="22">22:00</option>
<option value="23">23:00</option>
<option value="24">24:00</option>
</select>
</div>
</div>
</div>
</div>
controller
**ADD FUNCTION**
$from = json_encode(array_combine($request->days, $request->from));
$to = json_encode(array_combine($request->days, $request->to));
$business->hrs_from = $from;
$business->hrs_to = $to;
**EDIT FUNCTION**
dd((json_decode($businesses[0]->hrs_from)));
Response From Dump Die
{#1130 ▼
+"Monday": "1"
+"Tuesday": "1"
+"Thursday": "1"
+"Wednesday": "1"
}
将第二个参数添加到 json_decode 以获取数组
dd((json_decode($businesses[0]->hrs_from, true)));
您可以在 html 表单输入名称中使用嵌套的 arrays。 例如:
from[day][]
from[time][]
甚至:
from[day][0][]
from[time][0][]
from[day][1][]
from[time][1][]
它应该正确到达后端。 不确定这是否有帮助?
我发现它对具有大量数据的 php 代码特别有用,尤其是在表格中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.