Как вставить внешний ключ в таблицу базы данных - PullRequest
1 голос
/ 14 мая 2019

У меня есть две таблицы, имеющие отношения, но когда я отправляю данные в базу данных, я получаю NULL, я обычно использую Vuejs с Laravel в laravel, я могу использовать цикл foreach, но я новичок с laravel & Vuejs

Мои две таблицы - ученики и родитель, у меня есть внешний ключ в таблице учеников, который ссылается на идентификатор родителя

Любой, кто может мне помочь, как пройти через это

Моя проблема в том, что когда я отправляю данные, внешний ключ в таблице ученика вставляется как NULL

Это модель моего ученика:

protected $fillable = [
    'pregistration_id',
    'admission_no',
    'fname',
    'mname',
    'lname',
    'dob',
    'gender',
    'primary_school',
    'form_enrolled',
    'transfered_from',
    'transfered_to',
];

Это моя родительская модель:

protected $fillable = [
    'fname',
    'mname',
    'lname',
    'residence',
    'phone',
    'occupation',
];

Это мой ученический контроллер:

return Student::create([
    'pregistration_id'=>$request['pregistration_id'],
    'admission_no'=>$request['admission_no'],
    'fname'=>$request['fname'],
    'mname'=>$request['mname'],
    'lname'=>$request['lname'],
    'dob'=>$request['dob'],
    'gender'=>$request['gender'],
    'primary_school'=>$request['primary_school'],
    'form_enrolled'=>$request['form_enrolled'],
    'transfered_from'=>$request['transfered_from'],
    'transfered_to'=>$request['transfered_to'],
    // dd($request->all())
]);

Это таблица моих учеников:

Schema::create('students', function (Blueprint $table) {
    $table->bigIncrements('id');
    $table->bigInteger('pregistration_id')->unsigned()->nullable();
    $table->integer('admission_no')->unique();
    $table->string('fname');
    $table->string('mname');
    $table->string('lname');
    $table->date('dob');
    $table->string('gender');
    $table->string('primary_school');
    $table->string('form_enrolled');
    $table->string('transfered_from');
    $table->string('transfered_to');
    $table->foreign('pregistration_id')->references('id')->on('pregistrations');
    $table->timestamps();
});

Это часть студенческого компонента в Vue:

data() {
  return {
    editmode: false,
    students: {},
    form: new Form({
      id: '',
      admission_no: '',
      fname: '',
      mname: '',
      lname: '',
      dob: '',
      gender: '',
      primary_school: '',
      form_enrolled: '',
      trasfered_from:'',
      trasfered_to: ''
    })
  }
},
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...