在使用内部连接sql命令与Joomla查询时遇到问题


Having trouble using inner join sql command with Joomla query

我试图使用内部连接来选择用户订阅的停止日期。下面是代码示例:

Global $_CB_framework;
$myId = $_CB_framework->myId();
$db = JFactory::getDbo();
$stopDateQuery = $db->getQuery(true);
$stopDateQuery->select($db->quoteName(array('#__cbsubs_subscriptions.user_id', '#__cbsubs_payment_items.subscription_id', '#__cbsubs_payment_items.stop_date')));
$stopDateQuery->from($db->quoteName('#__cbsubs_subscriptions'));
$stopDateQuery->innerJoin($db->quoteName('#__cbsubs_payment_items' ON '#__cbsubs_subscriptions.id'='#__cbsubs_payment_items.subscription_id'));
$stopDateQuery->where($db->quoteName('#__cbsubs_subscriptions.user_id')." = ".$db->quote($myId));

$db->setQuery($stopDateQuery);
$stopDateQueryResults = $db->loadRow();
$stopDate = $stopDateQueryResults['2'];
echo 'stop Date:'.$stopDate;

我已经运行语句直接到phpMyAdmin和表将加入没有问题。我确信这与我的陈述格式有关。有什么建议吗?

innerJoin行有语法错误。改变:

$stopDateQuery->innerJoin($db->quoteName('#__cbsubs_payment_items') . ' ON #__cbsubs_subscriptions.id = #__cbsubs_payment_items.subscription_id');

innerJoin()接受一个字符串,该字符串应该是SQL连接的格式,没有连接类型。例如:

$obj->innerJoin('table_a on table_a.id = table_b.id');