0

特に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に成功した後、どのようにデータを取得するのか疑問に思っていましたか?

みんな助けてくれたら嬉しいです。

4

1 に答える 1

0

しかし、これがうまくいくとは思わなかったでしょう。ヒントをくれた rekire に感謝します。

$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";
$result = db_query($query);
foreach ($result as $row) {
    echo $row->end_offer . " " . $row->title . " " . $row->fbp_id . " " . $row->sweep_stat . "<br>";
}
于 2013-02-13T06:31:23.140 に答える