У меня есть две таблицы со следующими столбцами, опекунам (ID, student_no) и школьнику (идентификатор, admission_no). student_no иностранный to admision_no. студентов имеет hasMany ассоциации с опекунами, опекуны имеет belongsTo ассоциации с студентов. вот мои моделипросмотров торт PHP от belongsTo ассоциации
СТУДЕНТ
public $hasMany = array(
'Guardian' => array(
'className' => 'Guardian',
'foreignKey' => 'student_no',
'dependent' => true,
)
)
GUARDIAN
public $belongsTo = array(
'Student' => array(
'className' => 'Student',
'foreignKey' => 'student_no',
)
)
контроллер Гардиан
public function view($id = null) {
if (!$this->Guardian->exists($id)) {
throw new NotFoundException(__('Invalid guardian'));
}
$options = array('conditions' => array('Guardian.' . $this->Guardian->primaryKey => $id));
$this->set('guardian', $this->Guardian->find('first', $options));
}
Гардиан view.ctp (усеченный для просмотра только соответствующий студент из в модели Guardian)
<h3><?php echo __('Associated Students'); ?></h3>
<?php if (!empty($guardian['Student'])): ?>
<table cellpadding = "0" cellspacing = "0">
<tr>
<th><?php echo __('Admission No'); ?></th>
<th><?php echo __('First Name'); ?></th>
<th><?php echo __('Last Name'); ?></th>
<th><?php echo __('Gender'); ?></th>
<th><?php echo __('Date Of Birth'); ?></th>
<th><?php echo __('Join Date'); ?></th>
<th><?php echo __('Form'); ?></th>
<th><?php echo __('Student Class'); ?></th>
<th><?php echo __('Middle Name'); ?></th>
<th class="actions"><?php echo __('Actions'); ?></th>
</tr>
<?php foreach ($guardian['Student'] as $student): ?>
<tr>`
<td><?php echo $student['admission_no']; ?></td>
line(115) <td><?php echo $student['first_name']; ?></td>
<td><?php echo $student['last_name']; ?></td>
<td><?php echo $student['gender']; ?></td>
<td><?php echo $student['date_of_birth']; ?></td>
<td><?php echo $student['join_date']; ?></td>
<td><?php echo $student['form']; ?></td>
<td><?php echo $student['student_class']; ?></td>
<td><?php echo $student['middle_name']; ?></td>
</tr>
<?php endforeach; ?>
</table>
я могу просмотреть связанные родительские детали из студентов смотреть с выше аналогичного кода, однако в опекуны вид я получаю сообщение об ошибке для соответствующего опекуна
оШИБКА: Предупреждение (2): Illegal строка смещения 'first_name' [APP/View/опекуны/view.ctp, линия 115]
и три строки ниже it.what точно будет неправильно
отладки $ gurdian показывает, что он имеет все соответствующие студент, а также после редактирования студента, я могу nolonger посмотреть, что студент, так как идентификатор передается для просмотра действий changes.dont знаю, почему – Gordon
Если по _all_ вы имеете в виду _one _... @Gordon – ndm