0

データベースに次のテーブルがあります。

  • リフト
  • 車両
  • メーカー

リフトは車両に属します

車両所属メーカー

メーカーhasManyVehicles

LiftsController.php addメソッド:

public function add() {
    if ($this->request->is('post')) {
        $this->Lift->create();
        $this->request->data['Lift']['user_id'] = $this->Auth->user('id');
        if ($this->Lift->save($this->request->data)) {
            $this->Session->setFlash(__('The lift has been saved'));
            $this->redirect(array('action' => 'my_lifts'));
        } else {
            $this->Session->setFlash(__('The lift could not be saved. Please, try again.'));
        }
    }
    $vehicles = $this->Lift->Vehicle->find('all', array('fields' => array('id', 'model', 'manufacturer_id')));
    $towns = $this->Lift->TownFrom->find('list', array('order' => 'county ASC, name ASC', 'fields' => array('id', 'name', 'county')));
    $this->set(compact('users', 'vehicles', 'towns'));
}

LiftsController.phpビューを追加:

    echo $this->Form->input('vehicle_id');

プリントスクリーン:

img

したがって、必要なのは、製造元IDの製造元名の代わりに表示することです。すべてのモデルで、$displayFieldは正しい値に設定されています

4

2 に答える 2

0

変更してみてください:

echo $this->Form->input('vehicle_id');

echo $this->Form->input('Vehicle');
于 2013-02-22T17:14:28.703 に答える
0

変化する

$vehicles = $this->Lift->Vehicle->find('all', array('fields' => array('id', 'model', 'manufacturer_id')));

$vehicles = $this->Lift->Vehicle->find('list', array('conditions' => array('Vehicle.user_id' => $this->Auth->user('id')), 'recursive' => 0, 'fields' => array('Vehicle.id', 'Vehicle.model', 'Manufacturer.title')));
于 2014-03-11T00:26:15.330 に答える