0
好生病老實說我在這裏一點點的失落,林爲Joomla 2.5創建組件,並在數據庫中,「經理」,另一個叫「分行」兩個表。我試圖加入分支機構的經理。SQL加入和JSON編碼的Joomla 2.5
我希望我能與我的問題更精確,但老實說,我不明白它,調用數據庫繼承人我的模型文件:
<?php
defined('_JEXEC') or die;
jimport('joomla.application.component.model');
class LocateModelBranches extends JModel
{
public function getItem()
{
$branch_id = JRequest::getInt('id');
$row = JTable::getInstance('branches', 'LocateTable');
$row->load($branch_id);
return $row;
}
public function getBranches()
{
$branch_id = JRequest::getInt('id');
$db = $this->getDbo();
$query = $db->getQuery(true);
$query->select('*');
$query->from('#__branches');
$query->join('LEFT', '#__managers AS a USING(manager_id)');
$query->where("published = 1");
$db->setQuery($query);
$rows = $db->loadObjectList();
return $rows;
}
}
然後我view.json.php文件:
<?php
defined('_JEXEC') or die;
jimport('joomla.application.component.view');
class LocateViewBranches extends JView
{
public function display($tpl = null)
{
$branch = $this->get('Branches');
$response = array();
foreach ($branch as $row) {
$response[] = array(
'lat' => $row->branch_latitude,
'lng' => $row->branch_longitude,
'data' => array(
'name' => $row->branch_name,
'address' => $row->branch_address,
'fax' => $row->branch_fax,
'email' => $row->branch_email,
'city' => $row->branch_city,
'telephone' => $row->branch_telephone,
'id' => $row->branch_id,
'lati' => $row->branch_latitude,
'lngi' => $row->branch_longitude,
'manager_id' => $row->manager_id,
),
);
}
echo json_encode($response);
}
}
然後我得到的迴應:
[]
如果我刪除「$查詢 - >加入( '左',「#__man作爲使用者(manager_id)'的年齡者');「然後我的反應是(這是我想隨着管理人員的詳細信息:
[{"lat":"-33.9249","lng":"18.4241","data":{"name":"test 2","address":"greenpoint, Cape Town","fax":"044 382 0605","email":"test","city":"blah","telephone":"044 382 0605","id":"2","lati":"-33.9249","lngi":"18.4241"}},{"lat":"-34.0438","lng":"23.0759","data":{"name":"jam factory","address":"15 meeu street knysna","fax":"00000000","email":"00000000","city":"am factory","telephone":"0000000","id":"14","lati":"-34.0438","lngi":"23.0759"}}]
我敢肯定,它只是一個與我view.json.php問題
另外,如果我從json_encode改變print_r的,並保持「$查詢 - >加入( '左', '#__managers AS一個使用(經理標識)');」 我得到的迴應:
Array
(
)
1
所以肯定它就是IM的方式輸出數據
由於您沒有發佈您的表架構,我必須問您是否在LEFT JOIN情況下column manager_id存在於兩個表中。 –
你是指數據庫中的表?非常感謝你的回覆...如果是這樣,那麼是的,它是在兩個表 –
嘗試更換$ db = $ this-> getDbo();到$ db = JFactory :: getDBO(); –