Получение значения из другой таблицы через идентификатор - PullRequest
0 голосов
/ 04 апреля 2019

Я новичок в Laravel.У меня есть таблица:

Students_attendance .

В students_attendance У меня есть столбец с именем class_id, который относится к students_classes таблица, которая также включает class_id и class_name для каждого студента.

В таблице внешнего интерфейса я получаю значения из таблицы students_attendance, поэтому доступен class_id, но мне нужен class_name.

Как я могу получить class_name?

// Миграция для студентов _attendance

 public function up()
    {
        Schema::create('students_attendances', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('class_id')->index()->unsigned()->nullable();
            $table->string('student_id');
            $table->string('first_name');
            $table->string('last_name');
            $table->string('attendance');
            $table->timestamps();
        });
    }

// Миграция для студентов_классы

 public function up()
    {
        Schema::create('students_classes', function (Blueprint $table) {
            $table->increments('id');
            $table->string('class_name');
            $table->string('class_fee');
            $table->string('class_teacher');
            $table->timestamps();
        });
    }

// Модель класса студентов

class StudentsClass extends Model
{
    protected $fillable = [
        'class_name',
        'class_fee',
        'class_teacher'
    ];

    public function students() {
        return $this->hasMany('App\Students');
    }

}

// Модель посещаемости студентов

class StudentsAttendance extends Model
{
    protected $fillable = [
        'class_id',
        'student_id',
        'first_name',
        'last_name',
        'attendance'
    ];

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

}

1 Ответ

0 голосов
/ 04 апреля 2019

Из переменной StatusAttendance вы можете получить доступ к имени класса с помощью $attendance->studentClass->class_name.

Если у вас есть class_id и вы хотите получить имя связанного класса, вы можете просто сделать это:

$class = StudentsClass::find($class_id);
$class->class_name; // Outputs the name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...