php -- 从一个table中获取数据并与另一个table匹配得到数据

php -- fetching data from a table and matching with another table to get data

我有两张桌子; dashboard_map_items 和 device_data_current。在 dashboard_map_items 中,我有两个字段,id 和命令,在 device_data_current 中,我有三个字段 id,commands,current_value。根据我的 dashboard_map_items 中的 ID 和命令,我需要从 device_data_current.

中获取 current_data

现在我不知道从哪里开始。在我能够对 id 和命令进行硬编码并从 device_data_current 中获取 current_data 之前,但这对我不再有效,因为 id 和命令将来会更改。

$currentValues = DeviceDataCurrent::where('map_id', 1)
          ->where('system_id', $system_id)
          ->where('command', 1)->where('id', 64)
          ->orderby('datetime', 'DESC')->take(1)->get();

这就是我为获取数据所做的工作。如果它对我有帮助,我正在使用 laravel 4.2 框架,但我不知道它与 laravel 有任何关系。它是纯粹的php。 任何帮助,将不胜感激。

我找到了解决方案

$currentValues = DashboardMapItem::where('system_id', $system_id)

->select()->join('device_data_current', function($join){
                  $join->on('device_data_current.id', '=', 'dashboard_map_items.device_id');
                  $join->on('device_data_current.command', '=', 'dashboard_map_items.command');
})
->get();

dd($currentValues->toArray());