Php 需要在laravel中创建一个下拉列表,并将结果插入新数据库

Php 需要在laravel中创建一个下拉列表,并将结果插入新数据库,php,ajax,laravel,Php,Ajax,Laravel,我是新来的拉威尔,我有两个表:用户,选定的用户都包含id,名称。 我想创建一个从用户填充的下拉列表,当选择用户名时,它将在下拉菜单旁边插入用户名。 当我按submit时,名称应保存到所选的用户表中 请有人帮我在视图和控制器中编写此代码。我不确定您真正想要实现什么,但请尝试下面的代码 userview.blade.php <div class="container"> @if(session('success')) <h1>{{session('suc

我是新来的拉威尔,我有两个表:用户,选定的用户都包含id,名称。 我想创建一个从用户填充的下拉列表,当选择用户名时,它将在下拉菜单旁边插入用户名。 当我按submit时,名称应保存到所选的用户表中


请有人帮我在视图和控制器中编写此代码。

我不确定您真正想要实现什么,但请尝试下面的代码

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">
Route::get('/selected-user', 'TestController@populateUsers');
Route::POST('/selected-user', 'TestController@saveUser')->name('save.selected-user');

请让我知道它是否有效

为什么不在
用户
表中选择
布尔
列?您的目标是什么?我的页面包含多个字段,在每个字段中,我需要创建此下拉列表来选择用户,以便其他人在打开页面时可以看到谁被选中感谢您的帮助,非常感谢,但代码存储的是id而不是名称。@mpsycho,据我所知,要保存名称而不是ID吗?请告诉我更多。我的意思是上面的代码存储了id,不管怎样,我把这一行{{$user->name}改成了这一行{{$user->name},并且它正确地存储了名称,再次感谢:)干得好。但最好使用id(主键)而不是名称,并且必须通过视图中的id获取名称。
<?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');
  }
}
Route::get('/selected-user', 'TestController@populateUsers');
Route::POST('/selected-user', 'TestController@saveUser')->name('save.selected-user');