php - 无法访问php刀片中的数组内的对象
问题描述
我正在执行查询并将 json 返回给 Laravel 客户端,我正在尝试使用 foreach 访问每个迭代,但是当我尝试访问信息时会发生此错误:
试图获取非对象的属性“id”
我尝试了很多方法,我不知道。
PHP FILE
public function indexJugetesDias(){
$preguntas = $this::listarPreguntasHoy(1,10);
return view('preguntasRespuestas')->with('preguntas', json_decode($preguntas, true));
}
public static function listarPreguntasHoy($pagina=1, $cantidad=10){
if($cantidad<=0){
$cantidad=10;
}
if($pagina<1){
$pagina=1;
}
$pagina--;
$saltar = $pagina*10;
$preguntas = Question::select('questions.id', 'questions.id_user', DB::raw("DATE_FORMAT(questions.date, '%Y-%m-%d')"), 'questions.title', 'questions.description', 'users.id', 'users.first_name', 'users.last_name')
->join('users', 'users.id', 'questions.id_user')
->whereRaw("DATE(questions.date) = CURDATE()")
->get()
->skip($saltar)
->take($cantidad)
->toJson();
return $preguntas;
}
PHP BLADE FILE
@foreach ((array)$preguntas as $pregunta)
{{$pregunta->id}}
<li class="thread"><span class="time">Apr 21</span><span class="title">aaa </span><span class="icon"> <a class="subscribe" href="javascript:void(0)"><i class="fa fa-star-o"></i></a><a class="flag" href="javascript:void(0)"><i class="fa fa-flag"></i></a></span></li>
@endforeach
HOW THE JSON LOOKS
array(1) {
[0]=>
object(stdClass)#359 (7) {
["id"]=>
int(1)
["id_user"]=>
int(1)
["DATE_FORMAT(questions.date, '%Y-%m-%d')"]=>
string(10) "2020-05-01"
["title"]=>
string(13) "Pregunta 1/05"
["description"]=>
string(19) "Prueba Descripción"
["first_name"]=>
string(6) "Pinazo"
["last_name"]=>
string(4) "Guna"
}
}
非常感谢!
解决方案
您正在转换$preguntas
为(array)
in (array)$preguntas
which 不是对象,因此是错误。
你可以调用你的 Blade:
{{ $pregunta['id'] }}
或者$preguntas
通过将代码更改为:
$preguntas = Question::select('questions.id', 'questions.id_user', DB::raw("DATE_FORMAT(questions.date, '%Y-%m-%d')"), 'questions.title', 'questions.description', 'users.id', 'users.first_name', 'users.last_name')
->join('users', 'users.id', 'questions.id_user')
->whereRaw("DATE(questions.date) = CURDATE()")
->skip($saltar)
->take($cantidad)
->get();
推荐阅读
- php - 每次尝试访问管理仪表板页面时,我都会被重定向到登录页面
- excel - 如果单元格不为空白,并且与相邻单元格匹配,则计数
- html - 角度禁用容器
- reactjs - 当用户关闭 React Native 应用程序时将大型状态对象存储在异步存储中
- json - 如何从 json 模式中的属性引用特定属性
- r - 在 R {gt} 组标签中使用 HTML
- symfony - 按同一表的相关实体进行的 Doctrine 查询扩展过滤器
- matrix - 如何应用变换矩阵将像素坐标投影到距离未知的 3D 空间中的 2d 层,其中包含单个相机的图像
- database - 死锁发生在 2 个阶段锁定
- python - Pandas 将具有相同列值的行分组并将函数应用于第一行,然后将结果分配给左侧行