Как получить название отдела модуля в моделях Laravel

Я пытаюсь получить отдел, частью которого является модуль в laravel, например:

Это мой факультет класс:

    <?php
class Faculty extends Eloquent {
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'faculty';
public $timestamps = false;
/**
* Whitelisted model properties for mass assignment.
*
* @var array
*/
protected $primaryKey='facultyid';

protected $fillable = array('facultyname', 'facultyshort');

public function departments()
{
return $this->hasMany('Departments', 'facultyid');
}
}

Это мой класс отделов

    <?php
class Departments extends Eloquent {
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'departments';

public $timestamps = false;
/**
* Whitelisted model properties for mass assignment.
*
* @var array
*/
protected $primaryKey='departmentid';
protected $foreignKey='facultyid';

protected $fillable = array('departmentname', 'departmenthead', 'facultyid');

public function modules()
{
return $this->hasMany('Modules', 'departmentid');
}
public function faculty()
{
return $this->belongsTo('Faculty', 'facultyid');
}
}

и, наконец, это мой класс модулей:

<?php
class Modules extends Eloquent {
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'modules';
protected $foreignKey='departmentid';
public $timestamps = false;
/**
* Whitelisted model properties for mass assignment.
*
* @var array
*/
protected $primaryKey='mid';

protected $fillable = array('mfulltitle', 'mshorttitle', 'mcode',
'mcrn', 'mfieldofstudy', 'mcoordinator','mlevel',
'mcredits', 'melective', 'departmentid');

public function department()
{
return $this->belongsTo('Departments', 'departmentid');
}

public function classes()
{
return $this->hasMany('Classes', 'moduleid')->orderBy('classid', 'ASC');
}
}

Я пытался сделать что-то вроде этого:

@foreach(Modules::where('melective', '=', 1)->get() as $mod)
{{$mod->mshorttitle}} belongs to department: {{ $mod->department->departmentname }}
@endforeach

Но это не работает, у кого-нибудь есть идеи как это сделать?

==============================

РЕШЕНИЕ

После небольшой работы я понял это

в классе отдела я добавил следующую функцию:

public function name()
{
return $this->departmentname;
}

и я изменил код на следующее:

@foreach(Modules::where('melective', '=', 1)->get() as $mod)
{{$mod->mshorttitle}} belongs to department: {{ $mod->department->name() }}
@endforeach

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]