Ich habe hier ein paar verschiedene Beiträge gelesen und kann nicht herausfinden, was ich falsch mache.CodeIgniter und DataMapper
Mein DB ist Setup wie folgt aus:
homes
- id
- address_id
- price
- etc...
address
- id
- home_id
- address1
- address2
- etc...
Dann meine Modelle so aussehen, kondensiert.
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');
}
Dann ist mein Controller verwendet die folgenden:
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.
}
}
Wenn ich diese beiden Zeilen auszukommen bekomme ich den Standard CI Rückkehr Array.
$homes->include_related('address');
$homes->get_iterated();
Wenn ich nicht dann bekomme ich einen Serverfehler. Dies ist das erste Mal, dass ich DataMapper benutze und ich bin mir fast sicher, dass ich alles falsch mache, aber ich habe keine Ahnung, wo ich anfangen soll.
UPDATE:
ich mein Problem herausgefunden. Ich hatte die DB-Tabelle hatte ich var $table = 'addresses';
, dass alles festgelegt, um anzugeben address
-addresses
und in meinem address.php
Modell zu ändern.
Ich erkannte dies nach einiger Entwicklung. Ich bin immer noch nicht in der Lage, die Ergebnisse zu bekommen, nach denen ich suche, aber an dieser Stelle mache ich die Annahme, dass meine '$ has_many'-Variable die Ursache dafür ist.Ich kann ein einzelnes Ergebnis erhalten, aber eine Liste der zugehörigen Ergebnisse funktioniert nicht. – Seth