首页 > 解决方案 > 基于 Laravel 查询 id 的数组

问题描述

我有这样的结果

一

当我尝试根据此数据(屏幕截图)ID 获取不同表的结果时,它说

此集合实例上不存在属性 [id]

代码

$result = DB::table('zone_regions')
->where('zone_regions.id', '=', $request->input('zone'))
->join('areas', function ($join) use($area) {
    $join->on('zone_regions.id', '=', 'areas.zone_id')
    ->where('areas.id', '=', $area);
})
->join('hthree_regions', function ($join) use($city) {
    $join->on('areas.id', '=', 'hthree_regions.area_id')
    ->where('hthree_regions.id', '=', $city);
})
->join('segments', function ($join) use($segment) {
    $join->on('hthree_regions.id', '=', 'segments.hthree_id')
    ->where('segments.id', '=', $segment);
})
->join('links', function ($join) use($link) {
    $join->on('segments.id', '=', 'links.segment_id')
    ->where('links.id', '=', $link);
})
->join('titik_closurs', function ($join) use($closure) {
    $join->on('links.id', '=', 'titik_closurs.link_id');
})
->groupBy('titik_closurs.id')
->get();
$histories = DB::table('core_histories')->whereIn('titik_id', $result->id)->get(); //get histories of returned results (return error above)
$res = array_merge($result, ['histories' => $histories]);

任何想法?

标签: phplaravel

解决方案


尝试这个

$histories = DB::table('core_histories')->whereIn('titik_id', $result->pluck('id')->toArray())->get();

https://laravel.com/docs/7.x/collections#method-pluck


推荐阅读