3 つのフィールドを持つ素敵なスキーマを継承しました: id, field_name, field_value
. これで、これがどのように機能するかがわかるでしょう。CMS を介して追加された各フィールドは、新しい行として追加されますが、id 値は一意ではありません。
しかし、各フィールドは個々のエンティティではなく、実際には ID (送信されたフォームのインスタンスを参照する) によってグループ化する必要があります。補足として、このスキーマ パターンが何と呼ばれるか知りたいです。
//example db contents
1 name Joe Blogs
1 email joe@example.com
1 programme sport
2 name Dave
2 email dave@example.com
2 programme art
そしてもちろん、1 つのクエリを使用して、選択したフィールドを id フィールドでグループ化したいと考えています。array( id => array( 'field' => 'value' , 'field' => 'value' ) )
などとして出力
通常、私は以下を行いますが、これを行うための純粋な SQL の方法があるかどうかを知りたいです。ループを切り取り、下部で処理します。
$existing = new stdClass;
$sql = "SELECT 'id','field_name','field_value'
FROM table_name";
$results = $wpdb->get_results( $sql, ARRAY ); //using wordpress btw
foreach ( $results as $k=>$r )
$existing[$r['id']][$k] = $r;