【问题标题】:laravel collection/format printing |Property [id] does not exist on this collection instancelaravel 集合/格式打印 |此集合实例上不存在属性 [id]
【发布时间】:2018-07-09 03:54:27
【问题描述】:
  $Report = Db::table('Attendance_Processed as procc')                            
                      ->leftjoin('Emp_Details', 'Emp_Details.HRApp_Emp_Id', '=', 'procc.HRApp_Emp_Id')
                            ->where('procc.Org_ID',$orgid)
                            ->where('Emp_Details.Supervisor_Emp_ID',$hrid)
                            ->whereYear('Clock_Day',$yearofdata)
                            ->whereMonth('Clock_Day',$monthofdata)   
                            ->select('Emp_Details.Emp_First_Name as name','procc.HRApp_Emp_Id as hrid',
                              'procc.Clock_Day as clockedday',
                              'procc.Time_in as timein',
                              'procc.Time_out as Timeout',
                              'procc.Total_Work_Hrs as totalworkedhours')


                           ->get()->groupBy('hrid','clockedday');
                           dd($Report);
                             return $Report;

以下代码产生这种格式

> Collection {#1168 ▼   #items: array:13 [▼
>     8 => Collection {#1155 ▼
>       #items: array:6 [▼
>         0 => {#934 ▼
>           +"name": "Aditi"
>           +"hrid": "8"
>           +"clockedday": "2017-10-03"
>           +"timein": "07:59:37"
>           +"Timeout": "16:52:30"
>           +"totalworkedhours": "08:52:53"
>         }
>         1 => {#935 ▼
>           +"name": "Aditi"
>           +"hrid": "8"
>           +"clockedday": "2017-10-04"
>           +"timein": "07:33:59"
>           +"Timeout": "16:31:48"
>           +"totalworkedhours": "08:57:49"
>         }
>         2 => {#936 ▶}
>         3 => {#937 ▶}
>         4 => {#938 ▶}
>         5 => {#939 ▶}
>       ]
>     }
>     20 => Collection {#1156 ▶}
>     213 => Collection {#1157 ▶}
>     11 => Collection {#1158 ▶}
>     22 => Collection {#1159 ▶}
>     10 => Collection {#1160 ▶}
>     9 => Collection {#1161 ▶}
>     28 => Collection {#1162 ▶}
>     29 => Collection {#1163 ▶}
>     16 => Collection {#1164 ▶}
>     17 => Collection {#1165 ▶}
>     25 => Collection {#1166 ▶}
>     31 => Collection {#1167 ▶}   ]

我无法使用 foreachloop 在刀片上正确打印它。

当我尝试在刀片文件中打印它时显示以下错误


“此集合实例上不存在属性 [hrid]”。


请帮帮我..

提前谢谢你

【问题讨论】:

  • 你有一个集合。我猜你错过了使用groupBy
  • 那么该怎么做。这是一个组合的群体
  • 我不知道你想要达到什么目的。删除 groupBy 将为您提供一个对象集合,其中将包含您想要获取的道具....
  • 它应该是 ->groupBy('hrid','clockedday')->get(); ,试试这个,如果仍然有错误发布查看代码
  • 你想做什么@MadhuNair?您是否要查看每个分组集合?如果是这样,您为什么首先将其分组?这是为了让你可以在标题下拥有它。请适当编辑您的问题,以便每个人都知道您想在这里做什么。

标签: php arrays laravel-5 eloquent laravel-5.5


【解决方案1】:

首先是你放错了groupBy,应该是:

->groupBy('hrid','clockedday')->get();

检查您是否有正确的数据,然后一旦您通过它收集循环以打印其中的数据。

在刀片中你的文件

@foreach ($result as $data)// loop through single object of collection
    {{ $data->hrid }} // or any other field
@endforeach

对于集合中的集合,请尝试如下

@foreach ($mainData as $result) // main collection
    @foreach ($result->secondCollection as $data)// variable containing second collection
        {{ $data->hrid }} // or any other field
    @endforeach
@endforeach

还可以查看 reference link 以循环遍历集合

【讨论】:

  • 这给出了一个集合数组..我只能在一个表中打印我如何在不同的表中分离员工详细信息
  • 所以保留->get()->groupBy('hrid','clockedday'); 可以为您提供正确的数据?如果是这样,那么您需要使用两个不同的foreach
  • 是的,但你能帮我做 foeach 循环吗?我总是在这个错误之上
  • 请发布您使用过的代码。如果有更多行,只需添加您使用过的两个 foreach 行
  • 我不得不删除一些内部部分 Date foreach($reportresult as $result) foreach($reportresult as $result) {{$result->clockedday}} endforeach endforeach
猜你喜欢
  • 2023-03-12
  • 2018-04-12
  • 1970-01-01
  • 1970-01-01
  • 2021-11-14
  • 2020-07-11
  • 2019-07-10
  • 1970-01-01
相关资源
最近更新 更多