여기 몇 가지 게시물을 읽었으며 잘못된 것을 알 수 없습니다. CodeIgniter 및 DataMapper
homes
- id
- address_id
- price
- etc...
address
- id
- home_id
- address1
- address2
- etc...
그런 다음 내 모델 응축, 다음과 같이 :
내 DB는 다음과 같은 설정입니다.
home.php
<?php
class Home extends DataMapper {
public var $has_one = array('address');
}
address.php
<?php
class Address extends DataMapper {
public var $has_one = array('home');
}
그리고 내 컨트롤러는 다음을 사용 : 나는이 두 줄을 주석 경우
homes.php
class Homes extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->library('datamapper');
}
public function index() {
$homes = new Homes();
$homes->include_related('address');
$homes->get_iterated();
$this->output->enable_profiler(TRUE);
_p($homes); // Self made function that wraps a print_r() in two <pre> tags.
}
}
나는 표준 CI 반환 배열을 얻는다.
$homes->include_related('address');
$homes->get_iterated();
내가하지 않으면 서버 오류가 발생합니다. 이것은 DataMapper를 사용한 첫 번째 시간이며, 나는 모든 것을 잘못하고 있지만 거의 어디에서 시작해야할지 모르겠습니다.
UPDATE : 나는 내 문제를 파악
. DB 테이블 address
을 addresses
으로 바꾸고 address.php
모델을 지정해야했습니다. var $table = 'addresses';
모든 것을 수정했습니다.
나는 이것을 개발 한 후에 이것을 깨달았다. 나는 여전히 결과를 얻을 수는 없지만,이 시점에서 나는'$ has_many' 변수가 이것의 원인이라고 가정합니다.단일 결과를 얻을 수 있지만 관련 결과 목록이 작동하지 않습니다. – Seth