php - 从表中获取数据并与另一个表匹配以获取数据

时间:2015-06-02 17:50:03

标签: php-5.4

我有两张桌子; dashboard_map_items和device_data_current。在dashboard_map_items中我有两个字段,id和命令,在device_data_current中我有三个字段id,命令,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。 任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案

$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());
相关问题