Calender
Sun Mon Tue Wed Thu Fri Sat
  12345
6789101112
13141516171819
20212223242526
2728293031  
<< May 2018 >>
広告
SEARCH

SELECTED ENTRIES
RECENT COMMENTS
RECENT TRACKBACK
CATEGORIES
ARCHIVES
LINKS
PROFILE
OTHERS
SKYPE
PC: skype.jojo.jp
chat
iPad: iphone.jojo.jp
chat call
THANKS



本日:
昨日:
多言語
広告
 ▼▲ 作業日報 ▼△
    What's under the hood?
<< 番組数がいっぱいでダビングできません | main | jqplot 凡例崩れ >>
【drupal】db_select での multibyte 文字は利用不可
どうもDrupal関数の db_select 等のSQL生成関数は注意が必要のようです、テーブル名、項目名称がSQLへ反映させていません。


以下のコードでは全角文字の入ったテーブル名、フィールド名ではQUERY文を生成できないようです。
Database::addConnectionInfo('XXX', 'default', $database_info);
  
$con = Database::getConnection('default', 'XXX');
$con->setTarget('XXX');
$query = db_select('cache.t週間稼動','n');
$query->fields('n',array('通算週'));
$query->addExpression('max(n.日付2)','mxday');
$query->groupBy('n.通算週');
$query->range(0,100);
$arr = $query->execute();

テーブル名称、項目名称にマルチバイトの利用は推奨されるものではないとは思いますが、現場ではこのような状況は起こりえます。
とりあえずSQL文は自前で発行し、 $con->queryRange() ぐらいの利用でとどめたいと思います。
| Drupal | 14:27 | comments(0) | trackbacks(0) |









http://blog.jojo.jp/trackback/1424939