php - 关于 Laravel 中的数组声明
问题描述
干草,我有2个这样的数组
foreach($kelas as $value)
{
$siswa[] = Siswa::whereIn('id', $data[$value->nama_kelas])
->with(['ortuwali', 'wali', 'pribadi', 'penyakit'])
->with('riwayat_pendidikan')
->with(['ijazah' => function($q){
// $q->with(['nilaiujianakhir'])
// ->with(['mapelujian' => function($q){
// $q->select('mapelujian.nama_mapel','nilaiujianakhir.*')
$q->join('mapel', 'mapel.id', 'nilai_ujian.mapel_id')
// ->join('mapelujian','mapelujian.id','nilaiujianakhir.mapel_ujian_id');
// }])
->get();
// $q->join('mapel', 'mapel.id', 'nilai_ujian.mapel_id')->get();
}])
->with(['nilaiujianakhir' => function($q2){
$q2->join('mapel_ujian', 'mapel_ujian.id', 'nilai_ujianakhir.mapel_ujian_id')->get();
}])
->with(['kelas' => function($q) {
$q->with(['ptk', 'sikap', 'prestasi'])
->with(['pembelajaran' => function($q) {
$q->select('pembelajaran.*', 'mapel.id as mapelid', 'mapel.urut_rapor')
->join('mapel', 'mapel.id', '=', 'pembelajaran.mapel_id')
->with('nilai.kkm')
->orderByRaw('ISNULL(mapel.urut_rapor), CAST(mapel.urut_rapor AS DECIMAL) ASC');
}])
->orderBy('semester_id');
}])
// ->with(['kelas.ptk','kelas.sikap', 'kelas.prestasi'])
// ->with([
// 'kelas.pembelajaran' => function ($q) {
// $q->select('pembelajaran.*', 'mapel.id as mapelid','mapel.urut_rapor')
// ->join('mapel', 'mapel.id', '=', 'pembelajaran.mapel_id')
// ->with('nilai.kkm')
// ->orderByRaw('ISNULL(mapel.urut_rapor), CAST(mapel.urut_rapor AS DECIMAL) ASC');
// }
// ])
->orderBy('nama')
->get();
}
$siswa[] = Siswa::whereIn('id', $pindahan)
->with(['ortuwali', 'wali', 'pribadi', 'penyakit', 'riwayat_pendidikan'])
->with(['ijazah' => function($q){
// $q->with(['nilaiujianakhir'])
// ->with(['mapelujian' => function($q){
// $q->select('mapelujian.nama_mapel','nilaiujianakhir.*')
$q->join('mapel', 'mapel.id', 'nilai_ujian.mapel_id')
// ->join('mapelujian','mapelujian.id','nilaiujianakhir.mapel_ujian_id');
// }])
->get();
// $q->join('mapel', 'mapel.id', 'nilai_ujian.mapel_id')->get();
}])
->with(['nilaiujianakhir' => function($q2){
$q2->join('mapel_ujian', 'mapel_ujian.id', 'nilai_ujianakhir.mapel_ujian_id')->get();
}])
->with(['kelas' => function($q) {
$q->with(['ptk', 'sikap', 'prestasi'])
->with(['pembelajaran' => function($q) {
$q->select('pembelajaran.*', 'mapel.id as mapelid', 'mapel.urut_rapor')
->join('mapel', 'mapel.id', '=', 'pembelajaran.mapel_id')
->with('nilai.kkm')
->orderByRaw('ISNULL(mapel.urut_rapor), CAST(mapel.urut_rapor AS DECIMAL) ASC');
}])
->orderBy('semester_id');
}])
// ->with(['kelas.ptk','kelas.sikap', 'kelas.prestasi'])
// ->with([
// 'kelas.pembelajaran' => function ($q) {
// $q->select('pembelajaran.*', 'mapel.id as mapelid','mapel.urut_rapor')
// ->join('mapel', 'mapel.id', '=', 'pembelajaran.mapel_id')
// ->with('nilai.kkm')
// ->orderByRaw('ISNULL(mapel.urut_rapor), CAST(mapel.urut_rapor AS DECIMAL) ASC');
// }
// ])
->orderBy('nama')
->get();
我将数组siswa与这个函数合并
$siswas = new Collection;
foreach($siswa as $value)
{
$siswas = $siswas->merge($value);
}
在刀片中,我为每个关系调用这样的对象
$siswa->pribadi->berat_badan_diterima
$siswa->pribadi->berat_badan_keluar
$siswa->pribadi->tinggi_badan_diterima
我在尝试获取非对象的属性 berat badan diterima 时遇到错误
我已经在刀片文件中更改了我的代码,如下格式:
$siswa->pribadi['berat_badan_diterima']
$siswa->pribadi['berat_badan_keluar']
$siswa->pribadi['tinggi_badan_diterima']
并且代码有效,但它不是有效的,我必须更改刀片文件中的许多行和许多文件刀片以更改格式,我想从控制器更改代码此代码..
$siswas = new Collection;
foreach($siswa as $value)
{
$siswas = $siswas->merge($value);
}
如何更改上面的代码控制器,以便在尝试获取非对象的属性时不会发生错误?
谢谢
解决方案
推荐阅读
- configuration - 如何向 Azure DevOps 错误/任务添加字段?它对我来说是禁用的
- sql - 在 SSRS 移动报告中使用自定义文本和表达式
- reactjs - 根据 React Firebase 应用程序中的快照值切换按钮
- mysql - 摆脱mysql查询中的空值
- php - 简单的 php 表单发送电子邮件错误
- html - 如何添加 SVG 图标作为选择下拉箭头?
- prometheus - 速率函数真的在普罗米修斯中给出平均值吗?
- terminal - 如何在 ncurses 中输出终端控制字符?
- c# - Rotativa 值不能为空。参数名称:上下文
- r - 反应性调用不适用于标签$img(src = ?)