【问题标题】:Laravel mysql join issueLaravel mysql加入问题
【发布时间】:2018-08-19 02:04:16
【问题描述】:

我有 2 个表,这两个表的字段名称和数据类型完全相同。

问题: 1) 我无法从两列接收数据 2)我还需要计算两个表中的电话号码

字段名称为 member_id、name、phone

`SAMPLE DATA IN MEMBER TABLE`
------------------------------
member_id | name | phone     |
------------------------------
100000    | ABC | 9876543210 |
-----------------------------*

`NOW SAMPLE DATA IN MEMBER_TEMP TABLE`
------------------------------
member_id | name | phone     |
------------------------------
100001    | DEF | 9876543210 |
-----------------------------*

`NOW EXPECTED RESULTS/ OUTPUT EXPECTED`
------------------------------
member_id | name | phone     |
------------------------------
100000    | ABC | 9876543210 |
------------------------------
100001    | DEF | 9876543210 |
-----------------------------*

下面是 LARAVEL 查询构建器

$member_info = DB::table('member')->select('member_temp.*','member.*')->where(
            array(
            )
    );

    $member_info = $member_info->join('member_temp','member_temp.phone', '=', 'member.phone')
            ->get()->toArray();

//原始MYSQL查询

select *
from `member`
inner join `member_temp`
    on `member_temp`.`phone` = `member`.`phone`

提前致谢

【问题讨论】:

  • 请包含您要使用的原始 MySQL 查询。
  • @Tim Biegeleisen 请检查我是否更新了我的问题
  • 这是您要运行的实际 MySQL 查询吗?计数呢?
  • @Tim Biegeleisen 如前所述,我需要从两个表中获取匹配电话号码的result OR Count。当我运行查询时,我只从特定表中得到一个结果
  • 请包括两个表的示例数据以及预期输出。

标签: php mysql laravel laravel-5


【解决方案1】:

我建议您应该使用 eloquent 模型从两个表中获取电话列。由于相同的列名,它总是会在流畅的查询(加入)中发生冲突

【讨论】:

    【解决方案2】:

    我认为您从错误的原始 sql 查询开始。

    您似乎正在寻找更像这样的东西来从数据库中获取您想要的所有数据:

    select a.memberid as MemberId, b.memberid as MemberTempId, a.name as MemberName, 
    b.name as MemberTempName, a.phone from member as a join member_temp as b on 
    member.phone = member_temp.phone;
    

    【讨论】:

      猜你喜欢
      • 2011-04-03
      • 2011-10-14
      • 1970-01-01
      • 2016-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多