1

フレームワーク(WolfCMS)を通過するMYSQLクエリがあります。

$sql_query = 'SELECT DISTINCT country FROM ' . $tableName . ' ORDER BY country ASC';
$countries = Record::query($sql_query, array()); //execute query

しかし、返されるのは、このようなオブジェクトの配列です

Array ( [0] => stdClass Object ( 
        [country] => Canada ) [1] => stdClass Object ( 
        [country] => France ) )

PHPですべてのオブジェクトをマージして配列をできるだけ単純にする方法があるかどうか疑問に思っていました

Array ( [0] => Canada  [1]  => France )

データを取得して必要な方法でカスタム配列を作成したら、いつでもforeachループで配列を解析できることはわかっていますが、データベースからデータを最終的な形式に直接取得する方法があるかどうか疑問に思っていました。

テキストフィールドのオートコンプリート機能のパラメーターとして単純な配列を使用したいだけです。

* 編集 *

私はより良い方法を見つけました。Record クラスを使用してクエリを実行することは避けなければなりませんでした。

方法は次のとおりです

//create sql statement
$sql_query = 'SELECT DISTINCT country' . 
            ' FROM ' . Record::tableNameFromClassName(__CLASS__) . 
            ' ORDER BY country ASC';
$stmt = Record::getConnection()->prepare($sql_query);
$stmt->execute(array());
return $stmt->fetchAll(Record::FETCH_COLUMN);
4

2 に答える 2

1

WolfCMS のクエリだけでは、これを達成することはできません。試してみてください:

$finalArr = array();
for($i=0; $i<sizeof($result);$i++) // $result being your query result
    array_push($finalArr,$result[$i]->country);

print_r($finalArr);
于 2013-07-31T13:48:19.490 に答える