【问题标题】:No output with inner join query laravel内部连接查询laravel没有输出
【发布时间】:2018-05-18 07:05:01
【问题描述】:

我不是 laravel 中最好的,但我尽力将 sql 转换为 laravel 语法。我的问题是我编写的内部连接查询无法获得输出。

我的查询:

  $scores = DB::table('users')
    ->join('devices', 'devices.id', '=', 'users.id')
    ->select('devices.id', 'devices.devicename', 'users.name as ausgeliehen von', 'devices.created_at', 'devices.updated_at')
    ->get();

我的观点:

<tbody>

  @foreach ($scores as $score)
  <tr>
    <td>{{ ++$i }}</td>
    <td>{{ $score->devicename}}</td>
    <td>{{ $score->name }}</td>
    <td>{{ $score->created_at }}</td>
    <td>{{ $score->updated_at }}</td>

我的输出表如下所示:

Sql查询:

SELECT devices.id, devices.devicename,users.name, devices.created_at, devices.updated_at
FROM devices
INNER JOIN users ON devices.id = users.id; 

sql查询的输出:

【问题讨论】:

  • 您的加入条件在我看来很可疑。为什么用户 ID 和设备 ID 会相关?也许向我们展示您的原始 MySQL 查询和一些示例数据。
  • SELECT devices.id, devices.bezeichnung,users.name, devices.created_at, devices.updated_at FROM devices INNER JOIN users ON devices.id = users.id;
  • 不要编辑原始问题并将您的查询更改为工作版本,因为这会使将来寻求此问题帮助的人感到困惑。代码应该保留损坏的版本,然后帮助您的答案将很容易地显示如何修复它。通过修复原始代码,很难意识到实际发生了什么。

标签: sql laravel


【解决方案1】:

如果不使用“ausleihs”表,为什么要加入它?

$scores = DB::table('users')
  ->join('devices', 'devices.id', '=', 'users.id')
  ->select('devices.id', 'devices.bezeichnung', 'users.name as ausgeliehen von', 'devices.created_at', 'devices.updated_at')
  ->get();

【讨论】:

    猜你喜欢
    • 2013-05-27
    • 1970-01-01
    • 2017-06-06
    • 2016-06-11
    • 2018-09-15
    • 2013-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多