Laravel使用指定的子列对数据库进行排序,并按指定的子列进行排序

时间:2017-11-03 13:47:29

标签: php mysql eloquent laravel-5.5

我有关于使用多关系表显示数据的问题, 我只想从 jadwal 表中显示来自 kelas.nama_kelas 的指定值并使用 jam.waktu_mulai 对其进行排序,

例如:显示来自 jadwal 的数据 nama_kelas = 3C

这是我的model.php

    public function dosen(){
        return $this->hasMany('App\Dosen','id');
   }

   public function jurusan(){
    return $this->hasMany('App\Jurusan','id');
   }

   public function ruang(){
    return $this->hasMany('App\Ruang','id');
   }

   public function kelas(){
    return $this->hasMany('App\Kelas','id');
   }

   public function makul(){
      return $this->hasMany('App\Matakuliah','id');
   }

   public function hari(){
      return $this->hasMany('App\Hari','id');
   }

   public function jam(){
      return $this->hasMany('App\Jam','id');
   }

这是我的controller.php

public function show($id)
{
    $dec = $id;
    $sort = \App\Kelas::find($dec);
    $jadwals = Jadwal::join('dosen','dosen.nip','=','jadwal.nip')
                    ->join('jurusan','jurusan.kode_jurusan','=','jadwal.kode_jurusan')
                    ->join('ruang','ruang.kode_ruang','=','jadwal.kode_ruang')
                    ->join('kelas','kelas.kode_kelas','=','jadwal.kode_kelas')
                    ->join('mata_kuliah','mata_kuliah.kode_mk','=','jadwal.kode_mk')
                    ->join('hari','hari.kode_hari','=','jadwal.kode_hari')
                    ->join('jam','jam.kode_jam','=','jadwal.kode_jam')
                    ->select('*','jadwal.id as jadwal_id','kelas.id as kelas_id')
                    ->where('kelas.nama_kelas','LIKE','%'.$sort->nama_kelas.'%')
                    ->orderBy('jam.waktu_mulai','Asc')
                    ->get();

    return view('Akademik.Jadwal.jadwalDetail',compact('jadwals')); 
}

这是我的数据库工作图: enter image description here

抱歉我的英文不好

编辑1: 我一直在测试并进行研究,但是当我尝试打印$ jadwal-> kelas_id时它返回nul ...但不是$ jadwal-> jadwal_id ,,,

0 个答案:

没有答案