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());
我有两张桌子; 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());