[英]Return array of objects from query
I currently have the following my_sql logic: 我目前有以下my_sql逻辑:
$results = $wpdb->get_results('
SELECT
catname as subcatname,categoryid,
(SELECT
catname
FROM
isc_categories
WHERE
categoryid= '.(int)$id.') as catname
FROM
isc_categories
WHERE
catparentid = '.(int)$id.'
AND
catvisible=1
ORDER BY
subcatname' );
$rs = mysql_query($query);
while ($row = mysql_fetch_object($rs)) {
var_dump($row);
}
This returns an array like so: 这将返回一个数组,如下所示:
array(1) {
[0]=>
object(stdClass)#16 (3) {
["subcatname"]=>
string(29) "Category Name: D.C Ice Makers"
["categoryid"]=>
string(4) "1113"
["catname"]=>
NULL
}
}
array(1) {
[0]=>
object(stdClass)#17 (3) {
["subcatname"]=>
string(33) "Category Name: Parry Boiling Tops"
["categoryid"]=>
string(4) "1114"
["catname"]=>
NULL
}
} }
However, I'd like to return my results in this format: 但是,我想以以下格式返回结果:
array(18) {
[0]=>
object(stdClass)#258 (3) {
["subcatname"]=>
string(22) "Air Recirculation Unit"
["categoryid"]=>
string(4) "1107"
["catname"]=>
string(18) "Catering Equipment"
}
[1]=>
object(stdClass)#257 (3) {
["subcatname"]=>
string(17) "Beverage Machines"
["categoryid"]=>
string(3) "108"
["catname"]=>
string(18) "Catering Equipment"
}
}
I've tried experimenting with the "mysql_fetch_object", but I'm struggling to return the results in the format I need. 我已经尝试过使用“ mysql_fetch_object”进行试验,但是我正努力以所需的格式返回结果。 Thanks
谢谢
The query is wrong. 查询错误。 Try it like this:
试试这样:
SELECT c.catname as subcatname,
c.categoryid,
cc.catname
FROM isc_categories c
JOIN isc_categories cc
ON cc.categoryid = c.catparentid
WHERE c.catparentid = ' . $id . '
AND c.catvisible = 1
ORDER BY c.catname
Use LEFT JOIN
if you use the same query to get only the top parent categories (when $id
is 0). 如果您使用相同的查询仅获取顶级父类别(当
$id
为0时),请使用LEFT JOIN
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.