WooCommerce(WordPress)の顧客をオブジェクトにロードしたいのですが、WooCommereceはデータとデータの名前/識別子の両方を格納するために行を使用します。MySQL:1つのMySQLクエリで行ベースのデータをオブジェクトにロードしますか?
Joomlaからは、情報を取得するために列を選択するだけでした。だから、私はいくつかのPHPを使用しなければならなかったので、私のSQLはWooCommerceで作業するときに少し長くなりました。
これは動作していますが、どういうわけか、PHPを最後に使用する代わりに1つのSQLクエリに変換できますか?
$query = "
SELECT
meta_key, meta_value
FROM
wp_postmeta
WHERE
post_id = ".$order->order_id;
$db->setQuery($query);
$rows = $db->loadRowList();
$result = new stdClass();
if (!empty($rows)) {
foreach ($rows as $row) {
if (!empty($row[0] == "_customer_user")) {
$result->customer_id = $row[1];
}
if (!empty($row[0] == "_billing_first_name")) {
$result->name = $row[1];
}
if (!empty($row[0] == "_billing_last_name")) {
$result->name = $result->name . " ".$row[1];
}
if (!empty($row[0] == "_billing_company")) {
$result->company = $row[1];
}
if (!empty($row[0] == "_billing_address_1")) {
$result->address = $row[1];
}
if (!empty($row[0] == "_billing_address_2")) {
$result->address = $result->address. "\n" . $row[1];
}
if (!empty($row[0] == "_billing_postcode")) {
$result->postalcode = $row[1];
}
if (!empty($row[0] == "_billing_city")) {
$result->city = $row[1];
}
if (!empty($row[0] == "_billing_country")) {
$result->country = $row[1];
}
if (!empty($row[0] == "_billing_email")) {
$result->email = $row[1];
}
if (!empty($row[0] == "_billing_phone")) {
$result->phone = $row[1];
}
}
}
これは単一のSQLクエリですので、私は本当にあなたの質問を理解していません! – Shadow