php - 在刀片 laravel 中有数组的 foreach 数组
问题描述
我确信这很容易,但我无法弄清楚!
array(2) {
[0]=>
object(stdClass)#354 (7) {
["id"]=>
int(1)
["id_user"]=>
int(1)
["DATE_FORMAT(questions.date, '%Y-%m-%d')"]=>
string(10) "2020-04-09"
["title"]=>
string(16) "Prueba del dia 9"
["description"]=>
string(28) "Prueba del dia 9 descripcion"
["first_name"]=>
string(6) "Pinazo"
["last_name"]=>
string(4) "Guna"
}
[1]=>
object(stdClass)#351 (7) {
["id"]=>
int(1)
["id_user"]=>
int(1)
["DATE_FORMAT(questions.date, '%Y-%m-%d')"]=>
string(10) "2020-04-09"
["title"]=>
string(17) "Prueba del dia 92"
["description"]=>
string(29) "Prueba del dia 92 descripcion"
["first_name"]=>
string(6) "Pinazo"
["last_name"]=>
string(4) "Guna"
}
}
我想做一个 foreach 并从每个对象中获取所有值。
@foreach($preguntas as $pregunta)
nvalid argument supplied for foreach()
我正在这样做,但它不起作用。
这是php中的代码
$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 view('preguntasRespuestas')->with('preguntas', json_decode($preguntas));
感谢您的时间!我将 preguntas 返回到视图 preguntasRespuestas
解决方案
好的,假设它是这样的:
$first = '{"id":1,"title":"Prueba del dia 1","description":"Prueba del dia 1 descripcion"}';
$second = '{"id":2,"title":"Prueba del dia 2","description":"Prueba del dia 2 descripcion"}';
所以 $perguntas 看起来像这样:
$perguntas =
[
json_decode($first),
json_decode($second)
];
和foreach:
foreach($perguntas as $perg) {
print_r($perg->id);
echo "<br>";
print_r($perg->title);
echo "<br>";
print_r($perg->description);
echo "<br>";
echo "<br>";
}
结果:
1
Prueba del dia 1
Prueba del dia 1 descripcion
2
Prueba del dia 2
Prueba del dia 2 descripcion
同样通过您的查询,您返回的是一个对象,而不是一个数组,因此您稍后将其转换为数组(array)$perguntas
或:
$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 view('preguntasRespuestas')->with('preguntas', json_decode($preguntas, true));
推荐阅读
- python - 在多个 numpy 数组中查找最近的集合
- javascript - 按下上传按钮时出现错误属性名称?
- ms-access - 有没有办法创建一个自动重置的序列列?
- python - Django 错误:配置不当/定义环境变量/调用 settings.configure()
- python - Python 增强红色
- python - “解析时出现意外的 EOF”
- c# - 有没有办法让 dll 不在构建文件中显示,但仍在 ac# 控制台应用程序中使用?
- java - 如何在 Swagger UI (OpenAPI) 上重新排序端点?
- html - 导航栏上的div溢出
- javascript - React 和 Redux:如何在另一个 Reducer 中访问一个 Reducer 的另一个状态