【发布时间】:2019-06-22 21:15:55
【问题描述】:
我正在 laravel 中处理 stdClass 对象。我必须合并两个表中的值。即第一个包含一些问题,另一个包含他们的多项选择答案。如何以问题对象可以包含其答案对象作为嵌套对象的方式组合结果。我想要这样的结构:
stdClass Object
(
[question_id] => 4
[title] => How to add data?
[options] => Array
(
[0] => stdClass Object
(
[id] => 1
[question_id] => 4
[option_title] => By any device
)
[1] => stdClass Object
(
[id] => 2
[question_id] => 4
[option_title] => By mobile
)
[2] => stdClass Object
(
[id] => 3
[question_id] => 4
[option_title] => By Laptop
)
)
stdClass Object
(
[question_id] => 5
[title] => Where to add data?
[options] => Array
(
[0] => stdClass Object
(
[id] => 1
[question_id] => 5
[option_title] => Lahore
)
[1] => stdClass Object
(
[id] => 2
[question_id] => 5
[option_title] => Karachi
)
[2] => stdClass Object
(
[id] => 3
[question_id] => 5
[option_title] => Multan
)
);
【问题讨论】:
-
再次,您必须与我们分享您自己的尝试。发布这样的问题不会帮助您解决问题。但是,仅通过阅读您的问题陈述,我认为您应该使用连接来连接您的两个表,然后在 question_id 上使用 group by 来对结果进行分组。
-
我做了以下但得到错误的结果,因为问题不再是对象:$result = [];foreach($question_data as $q) { $result[$q['title']][ ] = [ 'id' => $q['id'], 'question_id' => $q['question_id'], 'option_q_id' => $q['option_q_id'], 'option_title' => $q[ 'option_title'] ]; }
标签: php laravel object stdclass