显示每种故障单类型的自定义字段不起作用(自定义字段不显示)

时间:2018-04-10 20:07:53

标签: php laravel

我有一个single.blade.php文件,显示会议详细信息并且还有一个表单,以便用户可以为每种票证类型选择他想要的票证数量。

当用户选择数量并单击下一步时,请求转到具有storeQuantity()方法的RegistrationController,以便用户将所选数量存储在数组$ selectedTypes中,同时返回数组“$ customQuestions”并重定向用户使用$ selectedTypes数组注册到registration.blade.php:

这个RegistrationController:

public function storeQuantity(Request $request, $id){
    $typeQuantities = $request->get('types');

    $customQuestions = Question::where('congress_id', $id);

    foreach($typeQuantities as $typeName => $quantity){

    $type = TicketType::where('name', $typeName)->firstOrFail();
    $price = $type->price;

    $selectedTypes[$type->name]['quantity'] = $quantity;
    $selectedTypes[$type->name]['price'] = $price;
    }
    return view('congresses.registration')->with('selectedTypes', $selectedTypes)->with('customQuestions', $customQuestions);
}

在registration.blade.php中,我想显示与每种故障单类型相关的自定义问题。我在下面的代码中使用了“{{$ customQuestion-> question}}”,但问题并没有出现。

你知道问题出在哪里吗?

Registration.blade.php:

@if (!empty($allParticipants))
    @if($allParticipants == 1)
        @foreach($selectedTypes as $k=>$selectedType)
            <h6>Participant - 1 - {{$k}}</h6>
            <div class="form-group font-size-sm">
                <label for="name" class="text-gray">Name</label>
                <input type="text" class="form-control" id="name" value="">
            </div>
            <div class="form-group font-size-sm">
                <label for="surname" class="text-gray">Surname</label>
                <input type="text" class="form-control" name="surname" id="surname" value="">
            </div>

            @if (!empty($customQuestions))
                @if(count($customQuestions) > 0)
                    @foreach($customQuestions as $customQuestion)
                        <div class="form-group font-size-sm">
                            <label for="surname" class="text-gray">{{$customQuestion->question}}</label>
                            <input type="text" class="form-control" name="" id="" value="">
                        </div>
                    @endforeach
                @endif
            @endif
        @endforeach
    @endif
@endif

例如,ID为“1”的国会的组织者可能已为故障单类型“完全访问”创建了自定义问题“您的电子邮件是什么?”。因此,在票证类型为“完全访问”的情况下,除名称和姓氏外,它应显示“您的电子邮件是什么。”

我有这个表格内容和关系:

questions table:
id      question                congress_id
1       whats your email             1

ticket_type_questions table:
id        ticket_type_id      question_id
1            1                     1      (the ticket type 1 has the question 1)

ticket types table
id             name        congress_id
1             full access         1
2             basic               1

注意:也许问题是因为在“$ customQuestions = Question :: where('congress_id',$ id);”它会得到与大会相关的问题。但每种票类型都有相关的问题,必要的是显示与每种票类相关的问题,而不是与大会相关的问题。

1 个答案:

答案 0 :(得分:1)

我认为您在控制器中传递customeQuestions s并在视图中使用customQuestion。这可能会导致你的问题。

您可能还需要添加

$customQuestions = Question::where('congress_id', $id)->get();