【问题标题】:Laravel Query Returning Null ids on the id columnLaravel 查询在 id 列上返回 Null id
【发布时间】:2016-04-20 07:06:12
【问题描述】:

好的,我编写了一些代码来从数据库中的某个左连接中检索数据,在检索到这些数据后,我使用每个中的 id 来填充模式。问题是它适用于一些已检索的数据。因为当我查看查询结果时,我注意到某些有效数据的 id 是否为空

 $someuser =  DB::table('users')
->join('sometable', 'sometable.user_id', '=','users.id')
->leftjoin('sometable', 'users.id', '=', 'skills.user_id')
->leftjoin('sometable', 'users.id', '=','schools.user_id')
->leftjoin('sometable', 'users.id', '=', 'languages.user_id')
->leftjoin('sometable','users.id', '=', 'memberships.user_id')
->leftjoin('sometable', 'users.id', '=', 'convictions.user_id')
->leftjoin('sometable', 'users.id', '=', 'work_experiences.user_id')
->select('users.*','sometable.name as sometablename','sometable.*')
->where('users.first_name', '<>', '')->whereNotNull('users.id')
->orderBy('sometable.updated_at', 'DESC')->groupby('users.first-name')->distinct()->paginate(100); 

由此,查询结果如下:

{"total":966,"per_page":100,"current_page":1,"last_page":10,"from":1,"to":100,"data":[{"id":null, etc

简单的说为什么我的 id 为空

我认为它没有显示超过 1900 的 ID,所以如果用户超过 1900,它显示我为空

【问题讨论】:

  • JSON是如何形成的? 'data' 是否包含来自变量 $cbuser 的信息?

标签: php mysql laravel laravel-4 eloquent


【解决方案1】:

您正在从多个表中选择*。由于您也离开了加入,因此很可能没有什么可以加入,因此您的数据库将这些列返回为空。具体选择您需要的 id 并将其别名为不会被另一列覆盖的内容。

【讨论】:

  • 我笑了@user3158900 我只是添加了一个别名,就像我解决这个问题一样,但你的权利它有效。所以这就是你想要的 id 的答案.....太棒了
猜你喜欢
  • 2019-02-02
  • 2021-11-04
  • 2020-01-29
  • 1970-01-01
  • 2019-08-13
  • 1970-01-01
  • 1970-01-01
  • 2019-10-26
  • 1970-01-01
相关资源
最近更新 更多