【发布时间】:2014-12-21 11:50:46
【问题描述】:
我的孩子班
class Child 扩展 Eloquent { ... 公共功能活动(){ return $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 as $child) 中,我尝试调用 echo $child->campaign->name 并收到“尝试获取非对象的属性”消息。 $child->name 工作正常!
【问题讨论】:
-
您的数据库中是否有没有活动的孩子?
-
请接受我的回答,以便浏览问题列表的每个人都可以看到此问题已解决。谢谢。
-
你检查 $children 变量是数组还是对象?如果是 Array 则使用 $array->$key;如果是Object而不是usr $object->$key;
-
试试 echo @$child->campaign->name