Передача данных из UL / Li Blade-элемента в контроллер в Laravel - PullRequest
0 голосов
/ 29 сентября 2018

В настоящее время я пытаюсь выяснить, как передавать данные из элемента ul / li в контроллер в Blade.Я нашел ответ, найденный здесь:

как передать данные из блейд-файла в контроллер в Laravel

В нем объясняется, как передавать данные:

$permission->collaborator_id = $request->input('cid');

Однако это не работает в выпадающем списке ul / li.Мой код содержит следующее:

      <ul class="d-none po-list" id="size">
        @foreach ($productDetails as $productDetail)
        <li name="size" value="{{ $productDetail->ID }}"><span>{{ $productDetail->title }}</span></li>
        @endforeach
      </ul>

Здесь я хочу передать значение {{$ productDetail-> ID}} в мой контроллер.Я попробовал эти два подхода:

 <ul class="d-none po-list" id="size" name="size">
    @foreach ($productDetails as $productDetail)
    <li value="{{ $productDetail->ID }}"><span>{{ $productDetail->title }}</span></li>
    @endforeach
  </ul>

и

 <ul class="d-none po-list" id="size">
    @foreach ($productDetails as $productDetail)
    <li name="size" value="{{ $productDetail->ID }}"><span>{{ $productDetail->title }}</span></li>
    @endforeach
  </ul>

Затем я пытаюсь вызвать его, используя это в моем контроллере:

$productOrderDetails->size_id = $request->input('size');

Я считаю,проблема в том, что я не передаю «вход», но выбрал li: проверка документации я не нахожу ничего для запроса -> выбран или запрос -> li.

1 Ответ

0 голосов
/ 29 сентября 2018

Во-первых, в вашем шаблоне блейда вы должны создать поля ввода для ваших данных.Он может быть скрыт или не скрыт в форме и кнопка для отправки.С помощью этих данных формы вы должны сделать запрос на получение или отправку на сервер в соответствии с вашими данными.Это что-то вроде

в шаблоне Blade

<form method="post" action="{{your request url}}" enctype="multipart/form-data">
    @csrf
    <div class="row">
      <div class="col-md-12"></div>
      <div class="form-group col-md-4">
        <label for="Name">Product Name:</label>
        <input type="text" class="form-control" name="name">
      </div>
      <div class="form-group col-md-4">
        <label for="Price">Product Price:</label>
        <input type="number" class="form-control" name="price">
      </div>
    </div>
    <div class="row">
      <div class="col-md-12"></div>
      <div class="form-group col-md-4" style="margin-top:10px">
        <button type="submit" class="btn btn-success">Submit</button>
      </div>
    </div>
  </form>

Теперь в вашем контроллере вы можете получить его вот так (с функцией валидатора)

public function store(Request $request)
 {
    $request->validate([
        'name' => 'required',
        'price' => 'required',
    ]);
   $product = new Product();
   $product->name = $request->get('name');
   $product->price = $request->get('price');
   $product->save();
   return redirect('products')->with('success','Employee has been added');
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...