【问题标题】:Question about Laravel's foreign keys implementation关于 Laravel 外键实现的问题
【发布时间】:2020-03-10 23:23:40
【问题描述】:

我是 Laravel 的新手。我不明白如何将数据插入外键。谢谢你的任何回答。有我的代码片段:

name="user_id" 是保存在课程表中的用户表的外键,所以我希望通过用户表的名字和姓氏属性,课程表将获得用户的 ID。

<div class="row d-flex justify-content-center">
                            <div class="col-md-4">
                            <div class="form-group">
                                <select class="form-control dropdown-menu-arrow" name="subject" required>
                                    <option value="" selected disabled>Kurso vadovas</option>
                                    @foreach ($users as $user)
                                <option name="user_id">{{$user->firstname}} {{$user->lastname}}</option>
                                @endforeach
                                </select>
                            </div>
                        </div> 



 Schema::create('courses', function (Blueprint $table) {
            $table->string('course_title');
            $table->string('subject');
            $table->mediumText('comments');
            $table->bigIncrements('course_id');
            $table->mediumText('description');
            $table->integer('user_id');
            $table->foreign('user_id')->references('id')->on('users');
            $table->timestamps();
        });
 Schema::create('users', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('firstname');
            $table->string('lastname');
            $table->string('usertype');
            $table->string('email')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });

【问题讨论】:

  • 您的$users 查询是什么?

标签: php html laravel


【解决方案1】:

请测试一下

<option name="{{$user->id}}">{{$user->firstname}} {{$user->lastname}}</option>

【讨论】:

  • 这不起作用,因为我希望该课程表可以从用户表中获取一个属性。以您的方式,您只会获得用户属性而不是课程
  • 稍微解释一下可能会对您的答案有所帮助。问题是什么?您的代码如何解决?
【解决方案2】:

你可以这样使用:

<select class="form-control dropdown-menu-arrow" name="subject" required>
   <option value="" selected disabled>Kurso vadovas</option>
  @foreach ($users as $user)
     <option value="{{$user->id}}">{{$user->firstname}} {{$user->lastname}}</option>
 @endforeach
 </select>

然后从控制器获取用户ID:

$user_id = $request->subject;

【讨论】:

    猜你喜欢
    • 2017-12-13
    • 2011-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多