如何根据表单中的条目从另一个 table 数据库中获取任何列条目?
How to get any column entry from another table of database based on the entry taken in form?
我是 laravel 的新手,遇到了一个问题。我有一个数据库,有两个 table 命名的组和客户端。我有一个表单,其中包含三个字段:姓名、电子邮件和群组。该组是下拉列表 select,由数据库中的组条目填充。现在在创建新客户时,我希望我的客户 table 与组 table 建立关系。它会像这样工作:
将输入姓名、电子邮件,并 select 将与之关联的组。 'Client'table会得到'Groups'table.[=14的id(数据库中有一个id列,在auto_increament上) =]
我已经创建了一对一的关系,当我在数据库中手动输入 group_id 时,它会显示相应的组。但我希望代码在创建新条目时获得 group_id。
这是创建新条目的代码:
Student::create([
'name' => request('name'),
'email' => request('email'),
'group_id' => request('group_name')// I want the group Id here,
'user_id' => auth()->user()->id
]);
return back()->with('success', 'The registration is completed');
表格如下:
@extends ('layouts.app')
@section('main')
<div class="col-md-6">
<form method="post" action="/student" class="">
@csrf
<div class="form-group">
<label for="name">Client Name:</label>
<input class="form-control" type="text" name="name" required>
</div>
<div class="form-group">
<label for="email">Client Email:</label>
<input class="form-control" type="text" name="email" required>
</div>
<div class="form-group">
<label for="group_name">Select Group:</label>
<select class="form-control" name="group_name">
@foreach ($groups as $group)
<option>{{ $group->group_name}}</option>
@endforeach
</select>
</div>
<div class="form-group ">
<input class="btn btn-primary" type="submit" name="submit">
</div>
</form>
</div>
@endsection
这是错误代码:
SQLSTATE[HY000]: General error: 1364 Field 'group_group_name' doesn't have a default value (SQL: insert into `students` (`name`, `email`, `group_id`, `user_id`) values (Nayan Chowdhury, nayan.1aacl@gmail.com, Marketing, 1))
你做错了。尝试
<select class="form-control" name="group_name">
@foreach ($groups as $group)
<option value="{{ $group->id }}">{{ $group->group_name}}</option>
@endforeach
</select>
我是 laravel 的新手,遇到了一个问题。我有一个数据库,有两个 table 命名的组和客户端。我有一个表单,其中包含三个字段:姓名、电子邮件和群组。该组是下拉列表 select,由数据库中的组条目填充。现在在创建新客户时,我希望我的客户 table 与组 table 建立关系。它会像这样工作:
将输入姓名、电子邮件,并 select 将与之关联的组。 'Client'table会得到'Groups'table.[=14的id(数据库中有一个id列,在auto_increament上) =]
我已经创建了一对一的关系,当我在数据库中手动输入 group_id 时,它会显示相应的组。但我希望代码在创建新条目时获得 group_id。
这是创建新条目的代码:
Student::create([
'name' => request('name'),
'email' => request('email'),
'group_id' => request('group_name')// I want the group Id here,
'user_id' => auth()->user()->id
]);
return back()->with('success', 'The registration is completed');
表格如下:
@extends ('layouts.app')
@section('main')
<div class="col-md-6">
<form method="post" action="/student" class="">
@csrf
<div class="form-group">
<label for="name">Client Name:</label>
<input class="form-control" type="text" name="name" required>
</div>
<div class="form-group">
<label for="email">Client Email:</label>
<input class="form-control" type="text" name="email" required>
</div>
<div class="form-group">
<label for="group_name">Select Group:</label>
<select class="form-control" name="group_name">
@foreach ($groups as $group)
<option>{{ $group->group_name}}</option>
@endforeach
</select>
</div>
<div class="form-group ">
<input class="btn btn-primary" type="submit" name="submit">
</div>
</form>
</div>
@endsection
这是错误代码:
SQLSTATE[HY000]: General error: 1364 Field 'group_group_name' doesn't have a default value (SQL: insert into `students` (`name`, `email`, `group_id`, `user_id`) values (Nayan Chowdhury, nayan.1aacl@gmail.com, Marketing, 1))
你做错了。尝试
<select class="form-control" name="group_name">
@foreach ($groups as $group)
<option value="{{ $group->id }}">{{ $group->group_name}}</option>
@endforeach
</select>