Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法将stdClass类型的对象用作Laravel中的数组_Php_Mysql_Database_Laravel_Laravel Blade - Fatal编程技术网

Php 无法将stdClass类型的对象用作Laravel中的数组

Php 无法将stdClass类型的对象用作Laravel中的数组,php,mysql,database,laravel,laravel-blade,Php,Mysql,Database,Laravel,Laravel Blade,我得到了以下错误: PHP致命错误:无法在第115行的C:\xampp\htdocs\enginepoker2\storage\framework\views\10cbd076bede57a96e59c43af0e1b9e02b4a69.PHP中将stdClass类型的对象用作数组 查询生成器: $statsMoneyInPlay = DB::table('enginepoker_log.poker') ->select( DB::raw("UNIX_TIMESTA

我得到了以下错误:

PHP致命错误:无法在第115行的C:\xampp\htdocs\enginepoker2\storage\framework\views\10cbd076bede57a96e59c43af0e1b9e02b4a69.PHP中将stdClass类型的对象用作数组

查询生成器:

$statsMoneyInPlay = DB::table('enginepoker_log.poker')
    ->select(
        DB::raw("UNIX_TIMESTAMP(Date(ts)*100) as timestamp"),
        DB::raw("SUM(pot + p1pot + p2pot + p3pot + p4pot + p5pot + p6pot + p7pot + p8pot + p9pot) / count(*) As moneyInPlay")
    )
    ->groupBy(DB::raw("DATE(ts)"))
    ->orderByRaw("DATE(ts)")
    ->get()
    ->toArray();
获取错误的刀片服务器:

@php
    foreach ($statsMoneyInPlay as $key => $value) {
        echo "[".$value[0].", ".$value[1]."],";
    }
@endphp

错误源于对阵列本身的误用。请尝试以下操作:

foreach($statsMoneyInPlay as $stat) {
  echo "[" . $stat['timestamp'] . ", " . $stat['moneyInPlay'] . "]";
}
编辑
$statsMoneyInPlay
是一个对象数组,因此访问它的正确方法是:

foreach($statsMoneyInPlay as $stat) {
  echo "[" . $stat->timestamp . ", " . $stat->moneyInPlay . "]";
}

该DB查询返回
stdClass
对象的
集合。它不返回数组的集合。对该
集合调用
toArray
将为您提供一个
stdClass
对象数组

@foreach ($statsMoneyInPlay as $value)
    [ {{ $value->timestamp }}, {{ $value->moneyInPlay }} ],
@endforeach

使用dd($statsMoneyInPlay)时的输出是什么;在查询生成器之后的控制器中?这是输出,请尝试将此对象转换为数组,$statsMoneyInPlay=(数组)$statsMoneyInPlay@MuhammadRomiMuhtarom修正了,lagboxok应该对上面的答案给予适当的信任,我仍然得到一个错误这是一个错误,说的是未损坏的SyntaxError:意外标记,