カテゴリに属するトランザクションがあり、1 つのFuelupを持つことができます。FuelupはCarとTransaction に属します。
class Transaction extends AppModel {
public $belongsTo = array('Category');
public $hasOne = array('Fuelup');
}
class Fuelup extends AppModel {
public $belongsTo = array('Transaction','Car');
}
class Car extends AppModel {
public $hasMany = array('FuelUp');
}
class Category extends AppModel {
public $hasMany = "Transaction";
}
私のテーブルは次のようになります。
transactions id|category_id|description
categories id|name
cars id|name|numberplate
fuelups transaction_id|car_id|amount|mileage
トランザクションのインデックス関数で、すべてのトランザクションのインデックスを作成し、存在する場合は Fuelup も表示します。
public function index() {
$this->set('transactions', $this->Transaction->find('all'));
}
このビューで車の名前にアクセスするにはどうすればよいですか? $transaction['Fuelup']['car_id'] は問題なく使えますが、$transaction['Fuelup']['Car'] などにアクセスできません。
CakePHP 2.3.1 の最新バージョンを実行しています。