laravel - 选择具有关系 laravel 一对多的查询
问题描述
我有这样的关系模式:
模型 Siswa
public function kelengkapan()
{
return $this->belongsTo('Modules\PesertaDidik\Entities\SiswaKelengkapan');
}
模型 SiswaKelengkapan
public function siswas()
{
return $this->hasMany('Modules\PesertaDidik\Entities\Siswa');
}
我想将选择查询与关系一起使用
在这个控制器中:
$siswa = Siswa::select('nama', 'nisn', 'tempat_lahir', 'tanggal_lahir', 'jk')->with('kelengkapan')->get();
return view('pesertadidik::crud.index', compact('siswa'));
这是我的刀...
<td>{{$data->kelengkapan->kelas_masuk}}</td>
但是这样的刀片错误
Trying to get property 'kelas_masuk' of non-object
我想在表格中显示 kelas_masuk,
如何使用关系 eloquent 的选择查询?
解决方案
您的选择查询没有问题
您正在尝试检索 null 上的数据,这就是您得到的原因Trying to get property 'kelas_masuk' of non-object
控制器
$siswa = Siswa::select('nama', 'nisn', 'tempat_lahir', 'tanggal_lahir', 'jk')->with('kelengkapan')->get();
return view('pesertadidik::crud.index', compact('siswa'));
刀片文件
假设您正在使用foreach
或forloop
<td>{{ $data->kelengkapan->kelas_masuk ?? '--' }}</td> //coalescing operator
Or
<td>
@if(!is_null($data->kelengkapan))
{{ $data->kelengkapan->kelas_masuk }}
@endif
</td>
推荐阅读
- rx-java - PublishProcessor.offer() 如何知道下游没有消费之前的发射?
- xml - 优雅的数字按钮未显示在 Android Studio XML 预览中
- python - responseMessages 未在 Django-Swagger 集成中显示
- javascript - 复制已渲染的 Vue.JS 组件
- tensorflow - 在 TensorFlow 和 Pytorch 中联合训练模型
- c++ - Swiftshader ( Angle Project ) vsync 不工作,如何解决?
- java - 如何在spring boot oauth2中允许来自特定主机的特定端点
- google-drive-api - Google Drive API - 存储在 GSuite 共享驱动器中的文件(仅)出现 404 错误
- javascript - 没有发生从 JavaScript 到 python 视图的 AJAX 调用(Django)
- c++ - 与不同变量类型相比的变量的 Clang AST 匹配器