我的孩子班
class Child扩展Eloquent { ... 公共职能活动(){ 返回$ this-> hasOne('Campaign'); } ... }
这是我在Laravel中的查询:
$query = Child::query();
$query->select('children.*');
$query->join('demands', 'demands.children_id', '=', 'children.id')->where('demands.accepted', '=', '1');
$children = $query->orderBy(DB::raw('RAND()'))->take(4)->get();
在foreach($ children为$ child)中,我尝试调用echo $ child-> campaign-> name并且我得到了“试图获取非对象的属性”消息。 $ child->名称工作正常!
答案 0 :(得分:0)
事实证明,并非每个孩子都有与之相关的广告系列。 只需在foreach循环中添加一点检查就可以了。
foreach($children as $child){
if($child->campaign == null){
continue;
}
// do stuff
}