Как я могу перевести код SQL во что-то, что сделает Joomla?

Я в том же самом случае обсуждался на https: //stackoverflow .com /questions /11709043 /mysql-update-column-with-value-from-another-table , то есть мне нужно скопировать значение столбца из таблицы A в таблицуB на основе общего столбца в каждом таблица.

Я использовал предложенный код внутри PHPMyAdmin, и он отлично работает:

UPDATE TableB 
SET TableB.value = (
    SELECT TableA.value 
    FROM TableA
    WHERE TableA.name = TableB.name
);

Моя проблема в том, что я не смог перевести это во что-то, что я могу использовать внутри моего файла mod_xxx.php. На той же странице переполнения стека есть предлагаемый код, который использует mysql_query и предположительно работает, но Joomla не принимает его. Я знаю, что любой код должен быть переведен на стандарты кодирования Joomla, но я провел три полных дня, пытаясь сделать это без успеха.

Я пробовал следующий код безуспешно:

$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query ->UPDATE ('#__gruposlocales')
       ->SET ('#__gruposlocales.name') =
             (SELECT ('#__community_groups.name')
              FROM ('#__community_groups')
              WHERE ('#__community_groups.ownerid = #__gruposlocales.id'));
$db->setQuery($query);
$result = $db->execute(); 

Как вы можете догадаться, я не осведомлен о кодировании PHP, поэтому мне очень нужна ваша помощь. Мой вопрос: как я могу перевести верхний код во что-то, что возьмет Joomla?

2 голоса | спросил Pablo Castelo 12 FebruaryEurope/MoscowbMon, 12 Feb 2018 20:04:02 +0300000000pmMon, 12 Feb 2018 20:04:02 +030018 2018, 20:04:02

1 ответ


0

Вы можете сделать следующее:

$db = JFactory::getDbo();
$sql = "UPDATE TableB SET TableB.value = (SELECT TableA.value FROM TableA WHERE TableA.name = TableB.name);
$db->setQuery($sql);
$db->execute();
ответил itoctopus 14 FebruaryEurope/MoscowbWed, 14 Feb 2018 17:22:26 +0300000000pmWed, 14 Feb 2018 17:22:26 +030018 2018, 17:22:26

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132