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