doudou3716 2016-08-04 16:58 采纳率: 100%
浏览 103
已采纳

Laravel原始子查询同表

I have a table Users with these columns:

     $users = User::select(['id','name','level','parent','updated_at'])
     ->where('level','>',1)
     ->get();

Output:

      id   name      level       parent   updated_at
      ----+---------+-----------+--------+-------------
      12   Jhon      1           0        2016-02-01
      99   Carl      2           12       2016-02-01

Then: I try this for show column parent how name id associated for example, in second row, show Jhon replacing 12.

I tried this code... Any help to read...

     $users = User::select(['id','name','level',
     DB::raw("SELECT * FROM users WHERE id = users.parent)
     'updated_at'])
     ->where('level','>',1)
     ->get();

Expected Output:

      id   name      level       parent   updated_at
      ----+---------+-----------+--------+-------------
      12   Jhon      1                    2016-02-01
      99   Carl      2           Jhon     2016-02-01
  • 写回答

1条回答 默认 最新

  • drbuowqe02101 2016-08-04 17:05
    关注

    You want a leftJoin to get the parent name:

    $users = User::select(['users.id','users.name','users.level', 'parent.name')
     ->leftJoin('users AS parent','users.parent','=','parent.id')
     ->where('users.level','>',1)
     ->get();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测