2011-01-11 9 views
0

Drupal/Ubercartと社内管理システムの統合部分を書いています。UbercartのテーブルからMySQLを使用してDrupalでエンコードされたデータを抽出します

顧客は、属性(例えば、名前、会社、登録日および月を含むことができるプラーク)を有するウベルカルト製品を使用する。指図が置かれると、属性に入力された値はuc_order_productsに書き込まれます。dataには、ユーザーが実際に入力した値が含まれています。私が知る限り、これはエンドユーザーが注文するために入力した製品属性値が格納される唯一の場所です。

エンコードされた属性値がオブジェクトをエンコードするために、すべてのDrupalのテーブルの上に見られる形式を使用しています:Iそこを取得するための簡単な方法

a:3: 
{ 
    s:10:"attributes"; 
    a:4: 
     { 
      s:26:"Name (to appear on plaque)"; 
      a:1: 
       { 
        i:0; 
        s:10:"Some Namee"; 
       } 
      s:7:"Company"; 
      a:1: 
       { 
        i:0; 
        s:28:"Some Company Name Goes Herep"; 
       } 
      s:19:"Certification Month"; 
      a:1: 
       { 
        i:0; 
        s:0:""; 
       } 
      s:18:"Certification Year"; 
      a:1: 
       { 
        i:0; 
        s:4:"2011"; 
       } 
     } 
    s:9:"shippable"; 
    s:1:"1"; 
    s:6:"module"; 
    s:10:"uc_product"; 
} 

a:3:{s:10:"attributes";a:4:{s:26:"Name (to appear on plaque)";a:1:{i:0;s:10:"Some 
Namee";}s:7:"Company";a:1:{i:0;s:28:"Some Company Name Goes here_";}s:19:"Certification 
Month";a:1:{i:0;s:0:"";}s:18:"Certification Year";a:1: 
{i:0;s:4:"2011";}}s:9:"shippable";s:1:"1";s:6:"module";s:10:"uc_product";} 

そして拡大し、それはこのようになりますこのテキスト内の個々のフィールド値はSQLを使用していますか?私はSQL関数を記述して詳細を調べることができますが、これを行う既存のMySQLアプローチ(おそらくDrupal内)を誰かが知っているかどうかを知りたいと思います。

ありがとうございます!

答えて

0

ビルトインソリューションが存在するかどうかわかりませんが、Name (to appear on plaque)などのパラメータテキストとして使用するSQL関数を作成しました。この関数はテキストを検索し、後続の{ ... }ブロックを抽出し、対応する文字列値を取得します。ラフですが、この場合は機能します。

誰かがより良い解決策を持っていれば、私はそれについて聞きたいと思います!

関連する問題