我有2个表issues
和magazines
,他们的关系设置如下:
杂志模特:
public function issues()
{
return $this->hasMany('App\Issue');
}
问题模型:
public function magazine()
{
return $this->belongsTo('App\Magazine');
}
在杂志表中,我有一列order
,其中杂志的订单号是。我需要显示每本杂志的最新一期,由杂志订购。
现在我正在显示每期杂志的最新期刊。
$issues = Issue::orderBy('date', 'desc')->get()->groupBy('magazine_id');
foreach ($issues->first() as $issue)
{
$images[] = $issue->image;
}
这很好用。 但是使用新查询:
$magazines = Magazine::with('issues')->orderBy('order')->get();
foreach ($magazines as $magazine)
{
$issues = $magazine->issues()->first();
$images[] = $magazine->issues()->first()->image;
}
我收到错误:
尝试获取非对象的属性
答案 0 :(得分:0)
只需检查问题is_null
,如果没有,请将图片添加到$images
:
foreach ($magazines as $magazine)
{
$issue = $magazine->issues()->first();
if (!is_null($issue) {
$images[] = $issue->image;
}
}