【发布时间】:2019-04-11 14:11:05
【问题描述】:
我尝试根据“Jadwal_kuliah”和“khs”表过滤数据,但发现错误“stdClass 类的对象无法转换为字符串”:
function jadwal_kuliah_json()
{
$nim = Auth::guard('mahasiswa')->user()->nim;
$tahun_akademik = \DB::table('tahun_akademik')->where('status', 'y')->first();
$kelas = \DB::table('khs')
->select('kode_kelas')
->where('nim', $nim)
->get();
$jadwal = \DB::table('jadwal_kuliah')
->join('khs', 'jadwal_kuliah.kode_mk', '=', 'khs.kode_mk')
->where('jadwal_kuliah.kode_kelas', $kelas)
->where('khs.nim', $nim)
->select('matakuliah.nama_mk', 'jadwal_kuliah.hari', 'jam_kuliah.jam', 'ruangan.nama_ruangan', 'dosen.nama', 'kelas.nama_kelas')
->get();
return Datatables::of($jadwal)->make(true);
}
JSON
{
"id": 36,
"kode_kelas": "TI18A",
"hari": "senin",
"kode_mk": "TI001",
"nidn": "15110185",
"jam": "1",
"kode_jurusan": "ifd3",
"kode_ruangan": "LBKom",
"kode_tahun_akademik": "20182",
"semester": 1,
"created_at": "2019-02-28 15:02:52",
"updated_at": "2019-02-28 15:02:52"
}
需要改变什么?
【问题讨论】:
-
你能分享完整和准确的错误信息,以及导致它的行吗?
-
$kelas是一个对象,必须改成字符串,但是如果类改成first()则只显示1条数据
-
好吧,如果您认为这是可行的方法,那么将其“更改”为字符串。我建议使用某种 ID 或存储在数据库中的任何内容来加入这些表 - 但是,这样做有什么问题?
-
我不知道使用什么查询来过滤数据。如果您使用的条件必须调用其他条件之一
-
“调用其他条件之一”是什么意思?为什么不使用像 ID 这样的标量值?由于我们对您的模型和表格的结构一无所知,因此很难提供帮助
标签: arrays laravel query-builder