我正在使用Laravel的查询构建器,语法如下:
$article = DB::table('users')->join('articles', 'articles.id', '=', 'users.id')->where('article_id', $id)->first();
您可以看到文章和用户表都有id
列。
然后在我看来我使用查询结果,我只得到一个id
而我需要两个。
有没有办法让他们?
我知道我可以使用:
->select('articles.id as myFirstId', 'users.id as mySecondId', 'users.name', ...)
但是这个请求中有很多列,如果我可以避免它,我宁愿。
由于 RaphaëlN。
答案 0 :(得分:1)
您可以从表中选择包含* FROM table
更多字段的所有字段,然后从另一个表中逐个选择,如下所示:
$article = DB::table('users')
->join('articles', 'articles.id', '=', 'users.id')
->where('article_id', $id)
->select('articles.*', 'users.id as userId', 'users.name') // Add rest of `users` fields
->first();