2016-02-04 4 views
0

Не могли бы вы помочь мне с этой ошибкой, я использую версию laravel 5.2. *. Я установил связь «один-к-одному» между учащимся и приложением. См. Код ниже.Laravel eloquent relationship (one-to-one)

Студент Модель:

public function application() { 
    return $this->hasOne('App\Application'); 
} 

Применение Модель:

public function student() { 
    return $this->belongsTo('App\Student'); 
} 

база данных правильно настроен, у меня есть student_id FK в таблице Приложения. Однако, я все еще получаю следующую ошибку. Что я делаю неправильно, что я пропустил? это сработало до этого, он просто внезапно порвал.

BadMethodCallException в Builder.php линии 2146: Вызов неопределенной метод Осветите \ Database \ Query \ Builder :: приложения()

я получаю сообщение об ошибке при попытке вставить в таблицу приложений , т. е. при попытке создать приложение для учащегося с приведенным ниже кодом.

$student = new Student; 
//There's code to insert into the students table here 
$application = new Application([ 
      'academic_year_id' => $year, 
      'ref_no' => Application::getReferenceNumber($year)->Ref_no, 
      'certificate_id' => 1, //This will remain hard coded until the centre starts to offer more than one certificate 
      'status' => "PENDING", 
      'slug' => str_slug(Application::getReferenceNumber($year)->Ref_no . "" . $academic_year->year) 
     ]); 
     $student->applications()->save($application); //Insert into the application table 
+3

'$> приложения студент-() -> сохранить ($ приложений),' 'будет приложение $> студент-() -> сохранить ($ application); 'Я думаю –

+0

Да, спасибо .. Как я пропустил это ... Я клянусь, что снова и снова смотрел на это, почему я не мог увидеть S –

+1

@ Md.SahadatHossain Howdy, поскольку ваш комментарий это решение, можете ли вы опубликовать его в качестве ответа и попросить Ричарда принять его для того, чтобы закрыть вопрос и принести пользу сообществу. Спасибо – Theson

ответ

0

В Student модели ваше имя функции application не applications. Так изменить код

$student->application()->save($application); 

вместо

$student->applications()->save($application);