我试图获取一个名为TestRunList的表的Count,该表的外键与另一个名为Testrun的表相同,这意味着我想知道单个testrun在同一页面中有多少个testrunlist我做了一个forloop为每个testrunlist获取testrun id,但它似乎没有工作我得到这个错误
不能使用stdClass类型的对象作为数组
继承我控制器中的代码
$data = DB::table('TestRun')->get();
$runs=array();
for ($i=0;$i<sizeof($data);$i++)
{
$testrunID=$data[$i]['TestRunID'];
$Testrunlist=TestRunList::where('test_run_id',$testrunID)->count();
$runs[$i]=[
'Countruns'=>$Testrunlist
];
}
return view('management.testrun.testrun-list')
->with('data',$data)
->with('runs', $runs);
答案 0 :(得分:1)
$data
是Collection
,您无法使用数组语法
$data = DB::table('TestRun')->get();
$runs = [];
$data->each(function ($row) use ($runs) {
$runs[] = [
'Countruns' => TestRunList::where('test_run_id',$row-> TestRunID)->count()
];
});
return view('management.testrun.testrun-list')
->with('data',$data)
->with('runs', $runs);
答案 1 :(得分:0)
始终使用
print_r($data);
如果它的对象运行echo $ data-&gt;用户名,如果数组运行echo $ data [&#39;用户名&#39;];
所以你知道你正在处理什么类型的数据。