ฉันกำลังพยายามวนซ้ำอาร์เรย์ด้วยคำสั่ง foreach ฉันได้รับอาร์เรย์จาก API ไม่ใช่ของฉัน ฉันใช้ foreach จาก Laravel ในเบลด ถ้าผมผ่านอาเรย์ในเบลดของผม แต่ละตัวจะมีประเภท และจะเห็นเฉพาะประเภท "วิทยุ" เท่านั้น ไม่มีช่องทำเครื่องหมายหรือพื้นที่ข้อความ สงสัยว่าทำไมและสิ่งที่ฉันสามารถทำได้เพื่อแก้ไข
<form action="/sendForm" method="post">@csrf
@foreach($survey['data']['formCategories'] as $category)
<h3 id="{{$category['name']}}">{{$category['name']}}</h3> <!-- Enquete -->
<hr/>
@foreach($category['formQuestions'] as $question)
@if($question['type'] === 'header' || $question['type'] === 'text' || $question['type'] === 'date')
<!-- Don't show -->
@else
<div>
<p class="questions">{{$question['name']}}</p>
<fieldset id="{{$question['id']}}" class="form-group">
@foreach($question['formOptions'] as $answer)
@if($question['type'] === "textarea" || $question['type'] === "paragraph")
TextArea
@elseif($question['type'] === "checkbox")
Checkbox
@elseif($question['type'] === "radio")
Radio
@endif
@endforeach
</fieldset>
</div>
@endif
@endforeach
@endforeach
<input type="submit" value="Sent" class="submit-btn" id="versturen">
</form>
ในที่สุดฉันต้องการแสดงตามประเภทอินพุตแบบฟอร์ม ดังนั้นหากประเภทเป็น textarea จะแสดง textarea ถ้าเป็นช่องทำเครื่องหมายให้ทำเครื่องหมายในช่องและเช่นเดียวกันกับวิทยุ
ฉันขอโทษสำหรับไวยากรณ์ที่ไม่ดี และฉันรู้ว่านี่ไม่ใช่คำถามที่ดีที่สุด แต่ฉันไม่รู้จะถามอย่างไร
แก้ไข
การตอบสนองของ API
name: '',
formCategories: [ //Different Categories
0: name:''
formQuestions: [ //Questions
0: name: '',
type: '', //Is either Radio, Checkbox or TextArea
formOptions: [ //Possible answers if necessary, empty if not needed.
0: name: ''
]
],
],
แก้ไข 2
dd ด้วยประเภท textarea:
array:7 [
name: '',
formQuestions: [
name: '',
type: 'textarea',
]
]
$question['formOptions'
ใน for-loop ของคุณโดยการทิ้งdd($question['formOptions')
หรือไม่ ถ้าไม่สามารถเข้าถึงได้นั่นอาจเป็นสาเหตุ มิฉะนั้น โปรดแจ้งให้เราทราบว่าค่าที่ทิ้งคืออะไร คุณสามารถพิจารณาแชร์โครงสร้างของการตอบกลับ API ได้เช่นกัน (ฉันเห็นว่าคุณทำไปแล้ว) - person anasey   schedule 16.10.2019{{ dd($question); }}
แล้วคุณจะ ดัมพ์ ออบเจ็กต์ การทำเช่นนี้ไม่สามารถแก้ไขสิ่งใดๆ ได้อย่างน่าอัศจรรย์ แต่การทำเช่นนั้นและให้ผลลัพธ์แก่เราสามารถช่วยเราช่วยคุณได้ - person Qirel   schedule 16.10.2019@foreach
ที่สองเมื่อมันถูกกำหนดไว้ - person Qirel   schedule 16.10.2019