Нужно создать выпадающий список в laravel и вставить результаты в новую базу данных - PullRequest
0 голосов
/ 03 января 2019

Я новичок в laravel, у меня есть две таблицы: users, selected_users оба содержат id, name. Я хотел создать выпадающий список, который заполняется пользователями, при выборе имени пользователя он будет вставлять имя пользователя рядом с выпадающим меню. Когда я нажимаю «отправить», имя должно быть сохранено в таблице selected_user.

Может кто-нибудь помочь с этим кодом, как написать его в представлении и контроллере.

1 Ответ

0 голосов
/ 04 января 2019

Я не уверен, что вы действительно хотите достичь, но попробуйте код ниже;

userview.blade.php

  <div class="container">
   @if(session('success'))
      <h1>{{session('success')}}</h1>
   @endif
   <form method="POST" action="{{route('save.selected-user')}}">
   {{ csrf_field() }}
   <div class="form-group row">    
       <div class="col-sm-8">
       <select class="form-control" id="selectUser" name="user_selected" required focus>
    <option value="" disabled selected>Please select user</option>        
    @foreach($users as $user)
    <option value="{{$user->id}}">{{ $user->name }}</option>
    @endforeach
  </select>
  </div>
<label class="col-sm-4 col-form-label"  id="displayUser">Show selected User 
  here</label>
</div>
 <input type="submit" value="Save">

<script type="text/javascript">
  var mytextbox = document.getElementById('displayUser');
  var mydropdown = document.getElementById('selectUser');
  mydropdown.onchange = function(){
      mytextbox.value = mytextbox.value  + this.value; //to appened
     mytextbox.innerHTML = this.value;
     }
  </script>

TestController.php (убедитесь, что у вас есть пользовательмодель и модель SelectedUser)

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\User;
use App\SelectedUser;

class TestController extends Controller
{

  public function populateUsers()
  {
    $users = User::all();
    return view('test.userview', compact('users'));
  }

  public function saveUser(Request $rq)
  {
    $selectedUser = new SelectedUser;
    $selectedUser->name = $rq->user_selected;
    $selectedUser->save();

    return redirect()->back()->with('success', 'Selected Username added successfuly');
  }
}

WEB.php

Route::get('/selected-user', 'TestController@populateUsers');
Route::POST('/selected-user', 'TestController@saveUser')->name('save.selected-user');

Пожалуйста, дайте мне знать, если это работает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...