У меня есть 2 модели: Профиль и Студент. Профиль содержит первичный ключ, id. У студенческой модели нет первичного ключа, кроме одного внешнего ключа profile_id, который ссылается на profile.id. У меня есть функция внутри моего контроллера Student, которая активирует Student, устанавливая статус от 0 до 1 при вызове. Я пытаюсь использовать save() для обновления значения, но не могу сделать это, вызвав сообщение как таковое:
Column not found: 1054 Unknown column 'id' in 'where clause'
Можете ли вы посоветуете? Большое вам спасибо.
Студенческая модель:
class Student extends Eloquent {
protected $primary_key = null;
public $incrementing = false;
protected $fillable = array('username', 'password', 'status', 'profile_id');
public function profile() {
return $this->belongsTo('Profile');
}
}
Модель профиля:
class Profile extends Eloquent {
protected $fillable = array('firstname', 'lastname', 'email', 'phone');
public function student()
{
return $this->hasOne('Student', 'profile_id', 'id');
}
}
StudentController:
public function activate($id) {
$student = Student::where('profile_id', '=', $id)->first();
$student->status = 1;
$student->save();
return Redirect::to('students');
}