php - 如何在 Laravel 5 中返回自定义查询结果

标签 php mysql laravel laravel-5

用户表

+------------+
|    User    |
+------------+
| uid        |
| name       |
| created_at |
| updated_at |
+------------+

汽车表

+------------+
|    Car     |
+------------+
| cid        |
| uid        |
| car_name   |
| created_at |
| updated_at |
+------------+

我正在使用查询生成器和我的查询:

DB::table('user')
   ->join('car', 'user.uid', '=', 'car.uid')
   ->where('user.uid', '=', $uid)
   ->get();

它从汽车表中截断了created_at和updated_at,它让我明白了:

{
  "uid": 5,
  "name": "Alexander Lowe DVM",
  "created_at": "2017-04-01 18:12:45",
  "updated_at": "2017-04-01 18:12:45",
  "cid": 5,
  "car_name": "BMW X8",
}

我想让我们的查询结果变成,我该怎么做?有什么解决办法吗?

{
  "uid": 5,
  "name": "Alexander Lowe DVM",
  "created_at": "2017-04-01 18:12:45",
  "updated_at": "2017-04-01 18:12:45",
  "car": {
    "cid": 5,
    "car_name": "BMW X8",
    "created_at": "2017-04-01 18:12:45",
    "updated_at": "2017-04-01 18:12:45"
  }
}

.

最佳答案

试试这个,看看你会得到什么:

$users = DB::table('user')
            ->join('car', 'user.uid', '=', 'car.uid')
            ->where('user.uid', '=', $uid)
            ->select('user.*', 'car.created_at', 'car.updated_at')
            ->get();

关于php - 如何在 Laravel 5 中返回自定义查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43451668/

相关文章:

java - 向mysql插入数据后,Spark Java中显示的是IterableWrapper(非空迭代器)而不是String

mysql - 表 '/tmp/#sql_165_0.MYI' 的 key 文件不正确;尝试修复它

Mysql 使用上一行的值更新列

php - 提高先选择然后插入的性能以避免重复记录(在mysql和php中)?

php - 使用 Composer 在 Windows 8.1 上安装 Laravel

php - 在不同的打印机托盘上打印多页 PDF

php - 检查数据库中是否存在电子邮件?

javascript - 如何添加 AJAX 操作 - Elgg

git - .gitignore 不忽略文件夹

php - 当我调用 session_start() 时如何修复权限错误?