정직하게 여기 조금 잃어 버렸습니다. joomla 2.5 용 구성 요소를 만들고 데이터베이스에 "관리자"와 "지점"이라는 두 개의 테이블이 있습니다. 매니저와 지회에 합류하려는 임씨.SQL Join and Json encom joomla 2.5
나는 내가 내 문제에 더 정확하게 수 있었으면 좋겠어하지만 난 솔직히 이해 데이터베이스에 호출을 heres 내 모델 파일 해달라고 : 다음
<?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);
}
}
는 난의 응답 얻을 : 내가 제거하면
[]
을 "$ 질의 -> ('LEFT', '#__man 가입 agers as USING (manager_id) '); " 내 view.json.php와
[{"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"}}]
임 있는지의 단지 문제는
내가 인 print_r와 유지로 json_encode에서 변경하는 경우 : 내 대답은 내가 관리자 정보와 함께 원하는이다 (이다 "$ 질의 -> (')를 사용 (MANAGER_ID AS #__managers'을 '에서 왼쪽) 조인"난의 응답 얻을 :
Array
(
)
1
너무 확실히 그 단지 방식 IM 데이터를 출력
테이블 스키마를 게시하지 않았으므로 LEFT JOIN 조건에서 두 테이블 모두에 manager_id 열이 있는지 묻습니다. –
데이터베이스의 테이블을 참조하고 있습니까? 답장을 보내 주셔서 감사합니다 ... 그렇다면 모두 두 테이블에 있습니다. –
$ db = $ this-> getDbo();를 바꿔보십시오. ~ $ db = JFactory :: getDBO(); –