Lalavel クエリビルダ(QueryBuilder)を使用し、JOIN句でANDを利用する

  • 2017.10.14
  • php
Lalavel クエリビルダ(QueryBuilder)を使用し、JOIN句でANDを利用する

ドハマリしました。。。
しかも調べてもJOINでANDを使用するケースが出てこず大苦戦。

調べていると
[php]
->join(‘テーブルB’, ‘テーブルA.id=テーブルB.id and テーブルA.id2=テーブルB.id2’)
[/php]

で良いと出てくるのですが、「テーブルA.id=テーブルB.id and テーブルA.id2=テーブルB.id2」なんて項目は無い、と
怒られる始末。

調べ続けること数時間、ようやく答えが見つかりました。

[php]
->join(‘テーブルB’, function ($join) {
$join->on(‘テーブルA.id’, ‘=’, ‘テーブルB.id’)->on(‘テーブルA.id2’, ‘=’, ‘テーブルB.id2’);
})
[/php]

上記が解決方法でした。

マニュアルにもANDのことは記載されていません。

Database: Query Builder

参考サイトは以下となります。
ありがとうございました。

thanks a lot !!!

Laravel 4 Query Builder: LEFT JOIN … AND … query

phpカテゴリの最新記事