【发布时间】:2016-03-16 11:10:54
【问题描述】:
我在通过 eloquent 从我的数据库中获取一些数据时遇到问题:
起初我这样做是为了从 clase_schedule 表中获取 'id' 和 'capMax':
$plazas = DB::table('clase_schedule')->select(['schedule_id', DB::raw('SUM(capMax) as capMax')])->groupBy('schedule_id')->get();
然后我想得到我之前得到的id与这张桌子上的id重合的table schedule的名称,像这样:
$nom_horarios = DB::table('schedule')->select('name')->where('id', 'in', $plazas->schedule_id)->get();
我得到这个错误:
"Trying to get property of non-object"
【问题讨论】:
-
你在 var_dump($plazas) 上得到了什么??
-
我得到一个包含两个值的数组,schedule_id 和 capMax,它是每组值的 sum(capMax) 的结果:array:2 [▼ 0 => {#483 ▼ +"schedule_id" : "2" +"capMax": "221" } 1 => {#482 ▼ +"schedule_id": "3" +"capMax": "12" } ]
-
如果你得到数组,那么你应该使用循环再次查询数组中的值。
-
做 foreach 我不知道为什么我只得到第一个:foreach ($plazas as $plaza) { $nom_horarios = DB::table('schedule')->select(' name')->where('id', 'in', $plaza->schedule_id)->get(); }
标签: php mysql database laravel eloquent