Im пытается с 3-дневного решения yout, чтобы заставить это работать, но мне нужна помощь. почти все я сделал проверка & погрешность. если кто-то может дать мне решение, я мог бы перепрограммировать его и лучше понять cakephp.cakephp: индексный сайт со всеми связанными данными habtm
Что я хочу это вид индекса, как это (сделал графики): http://www.bilder-upload.eu/show.php?file=fd8e93-1340110385.png
дверь и ключ имеет HABTM отношение, и я хочу, чтобы перечислить все двери, которые принадлежат к 1 ключа
я есть 3 таблицы:
двери (идентификатор, название, TXT) ключи (идентификатор, номер, описание) doors_keys (door_id, KEY_ID)
вот мой key.php
<?php
class Key extends AppModel {
public $hasAndBelongsToMany = array ('Door');
public $displayField = 'description';
// containable
var $actsAs = array('Containable');
}
door.php
<?php
class Door extends AppModel {
public $name = 'Door';
public $belongsTo = array('Building');
//public $actsAs = array('Containable');
public $hasAndBelongsToMany = array('Key');
// validation array wird aufgemacht
public $validate = array(
// validation wird für das Datenbankfeld title definiert
'title' => array(
// Feld darf nicht leer sein
'rule' => 'notEmpty' ,
// Eintrag muss ausgewählt werden
'required' => true
),
// validation für das DB Feld building_id
'building_id' => array(
'rule' => 'notEmpty' ,
'required' => true
),
);
// viele türen sind in einem Gebäude-> n:1->$belongsTo
// in der tabelle doors muss ein fremdschluessel auf die andere datenbank angelegt sein
}
keyscontroller.php (не работает)
class KeysController extends AppController {
public function index() {
$this->paginate = array(
'contain' => array(
// we want to get the key
'Door' => array(
// the info i wanna know is in the field txt
'fields' => array('txt')
),
),
);
$keys = $this->paginate('Key');
debug($this->set(compact('keys')));
}
index.ctp от ключей
<h2>Schluessel selbstgemacht</h2>
<table>
<!-- tr definiert eine Tabellenzeile -->
<tr>
<!-- th Überschriften in der Zeile -->
<th>ID</th>
<th>Description</th>
<th>number</th>
</tr>
<?php foreach($keys as $key): ?>
<tr>
<td><?php echo $key['Key']['id'] ?></td>
<td><?php echo $key['Key']['description'] ?></td>
<td><?php echo $key['Key']['number'] ?></td>
<td><?php echo $key['Door']['txt'] ?></td>
<td>
<?php echo $this->Html->link('Details', '/keys/view/' . $key['Key']['id']) ?>
<?php echo $this->Html->link('bearbeiten', '/keys/edit/' . $key['Key']['id']) ?>
<?php echo $this->Html->link('loeschen', '/keys/delete/' . $key['Key']['id']) ?>
</td>
</tr>
<?php endforeach; ?>
</table>
Я думаю, что это основной вопрос, но я не могу найти решение. поэтому мне нужно немного помочь в этом. благодаря
Я не знаю, как отредактировать мое сообщение. поэтому приведенный выше пример неверен, пожалуйста, проигнорируйте следующий bacause, который показывает неправильное: door1 ---- key1 ---- key2 door2 --- key1 door3 ---- key4 – Labamba
все еще нужна помощь. посмотрите под этим сообщением. – Labamba
, чтобы изменить свой вопрос, прямо над этим разделом комментариев, вы должны увидеть тег, который вы выберете, cakephp. Прямо внизу это должно быть и отредактировать ссылку. – Fewfre