繁体   English   中英

如何根据表单中的条目从另一个数据库表中获取任何列条目?

[英]How to get any column entry from another table of database based on the entry taken in form?

我是 laravel 的新手并面临一个问题。 我有一个数据库,有两个名为组和客户端的表。 我有一个表单,其中包含三个字段:姓名、电子邮件和群组。 该组是下拉选择,由数据库中的组条目填充。 现在,在创建新客户端时,我希望我的客户端表与组表有关系。 它会像这样工作:

将输入姓名、电子邮件并选择要关联的组。 'Client' 表将获得 'Groups' 表的 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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM