php - 使用 laravel 连接多个表

标签 php mysql laravel laravel-4

您好,我正在尝试使用 laravel 中的连接执行以下查询。

select  advertisers.advertiserName,brands.brandName  
        ,campaigns.campaignName,banner_creatives.bannerName         
from vicinity_adman_dev.advertisers
     join vicinity_adman_dev.brands 
     join vicinity_adman_dev.campaigns
     join vicinity_adman_dev.banner_creatives

     on advertisers. advertiserId = brands.advertiserId
     where 
     banner_creatives.campaignId = campaigns.campaignId

到目前为止我做了什么:

  $campaigns =DB::table('brands')

 ->join('advertisers','brands.advertiserId' , '=','advertisers.advertiserId'               
                ->join('campaigns','banner_creatives.campaignId',
                        '=','campaigns.campaignId')  

  select('advertisers.advertiserName','brands.brandName','campaigns.campaignName','banner_creatives.bannerName')   
->get();

第二次加入时出错“banner_creatives.campaignId” 提前致谢

最佳答案

您错过了一个连接。把它加到其他的就可以了

$campaigns = DB::table('brands')
               ->join('advertisers', 'brands.advertiserId', '=', 'advertisers.advertiserId')
               ->join('campaigns', 'banner_creatives.campaignId', '=', 'campaigns.campaignId')
               ->join('banner_creatives', 'banner_creatives.bannerCreativeId', '=', 'other_table.bannerCreativeId')
               ->select(
                   'advertisers.advertiserName',
                   'brands.brandName',
                   'campaigns.campaignName',
                   'banner_creatives.bannerName'
               )
               ->get();

关于php - 使用 laravel 连接多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28151479/

相关文章:

php mysql 返回?

PHP 多维数组帮助

php - 我的正则表达式没有正确替换

mysql - 将表 1 中的一列左连接到表 2 中的两列

php - (Laravel) 如何按最新的枢轴值过滤表

php - 调用存储过程后从 php 访问 LAST_INSERT_ID()

php - 如何在 Android Studio 中连接或链接到本地​​主机服务器地址

mysql - 存储投票信息 - 数据库大纲

Laravel 请求文件扩展名与提交的 Blob 不同

php - Laravel:如何制作列名的键?