我在joomla上有用于视频的组件。我想要获取当前项目的ID和缩略图。我使用下面的代码并从数据库中获取 id 和重指甲。
/// **Get a db connection.**
$db = JFactory::getDbo();
// **Create a new query object.**
$query = $db->getQuery(true);
$query
->select($db->quoteName(array('id','thumbnail')))
->from($db->quoteName('#__hwdms_media'));
$db->setQuery($query);
$results = $db->loadObjectList();//Load data from database
$thisitem = $this->item->id; // **HWD media share this item id**
$objectoarr = json_decode(json_encode($results),true); // **Convert stdClass object to array**
打印时
print_r ($objectoarr);
获取结果
[1] => Array
(
[id] => 46
[thumbnail] => https://i.ytimg.com/vi/SXTOwG1XhSM/maxresdefault.jpg
)
[2] => Array
(
[id] => 47
[thumbnail] => https://i.ytimg.com/vi/ASoOUK05d4A/maxresdefault.jpg
)
[3] => Array
(
[id] => 48
[thumbnail] => https://i.ytimg.com/vi/i4VkHHh0n7Q/sddefault.jpg
)
在这一点之后,我有问题。我需要从数组id
和项目thumbnail
中获取。如果id
等于$thisitem = $this->item->id
显示此项目thumbnail
。请帮助解决此问题。
要实现这一点,您只需遍历您收到的数组并检查内部缩略图数组的 id 是否匹配。
foreach ($objecttoarr as $thumbnail) {
if ($thumbnail['id'] == $this->item->id) {
// Do something with $thumbnail['id'] and $thumbnail['thumbnail']
}
}
对获取数据的代码进行一个小的调整,你将得到 id 作为数组中的键:
$results = $db->loadObjectList('id');//Load data from database
现在你可以通过id得到:
$current = $results[$this->item->id]; // this is you current item
Docs for JDatabaseDriver->loadObjectList()