Я использую cakephp 2.xx. У меня есть две таблицы в именах и полях моей базы данных. Я пишу innerjoin для отображения имен с их полом. пол идет из таблицы полов. мой контроллер нижеизвлекать данные из нескольких таблиц в cakephp
class NamesController extends AppController {
public $helpers = array("Html", "Form");
public function index() {
$this->loadModel("names");
$query_options = array();
$query_options["fields"] = array("names.Name","genders.gender");
$query_options["joins"] = array("table" => "genders", "alias" => "genders", "type" => "INNER", "conditions" => array("genders.id = names.Gender_id",));
$this->set("gender", $this->names->find('all', array($query_options,'limit' => 10 ,'recursive' => 1)));
}
}
названия модели
class Names extends AppModel {
var $belongsTo = 'Genders';
}
и гендерная модель
class Genders extends AppModel {
var $hasMany = 'Names';
}
и CTP код
foreach ($gender as $post);
echo $post["names"]["Name"];
echo $post["genders"]["gender"];
это печать Имя штрафа. но не печатает пол и приводит к неопределенному индексу: полов. Пожалуйста, помогите
Используйте соединения, если вам нужны условия детского стола. Используйте include для извлечения данных дочерних таблиц. Используйте их, когда это необходимо. :) –
Я использую объединения и содержал индивидуально и отдельно, но тот же результат –
Проверьте, работает ли мой ответ на вас. –