特にLEFTJOINでのDrupal7Mysqlクエリに関してこの問題があります。
私はこの解決策を見つけましたが、構文がどのように進むかわからないため、問題に適用できないようです。
https://drupal.stackexchange.com/questions/4317/how-do-i-write-a-left-join-query
これは、上記のリンクで見つけた解決策です。
$terms = db_select('taxonomy_index', 'ti')
->fields('ti', array('tid', 'name'))
->leftJoin('taxonomy_term_data', 'ttd', 'ti.tid = ttd.tid')
->condition('vid', 2)
->condition('nid', $nid)
->execute();
foreach ($terms as $term) {
// $term contains the object for the taxonomy term.
}
それでも、クエリにどのように適用するかについて問題があります。
これがmysqlのLEFTJOINクエリです。
$query = "SELECT sweep_table.end_offer, sweep_table.title, embed.fbp_id, embed.sweep_stat
FROM sweep_table, embed
WHERE sweep_table.uid=embed.uid AND sweep_table.promo_id=embed.sweep_id";
私はすでに最初の数行を実行しましたが、残りは方法がわかりません。
$terms = db_select('sweep_table', 'embed')
->fields('sweep_table', array('end_offer', 'title'))
->fields('embed', array('fbp_id', 'sweep_stat'))
->leftJoin('taxonomy_term_data', 'ttd', 'ti.tid = ttd.tid') //Don't know how to apply to my query.
->condition('vid', 2)
->condition('nid', $nid)
->execute();
foreach ($terms as $term) {
}
また、LEFT JOINに成功した後、どのようにデータを取得するのか疑問に思っていましたか?
みんな助けてくれたら嬉しいです。