我有以下表格:cars,car_types和car_methods。我的問題是關係。這輛車有一種類型和一種方法。CakePHP 3表關係
我的目標是展示汽車和他的附件「車型」和「car_method」。
汽車表:
id - type_id - method_id
Car_types表:
id - type
Car_methods表:
id - method
如何CA n個I設置這裏面我的模型表,這樣我可以在我的控制器像裏面做:
$this->Cars->CarTypes->find('all');
我嘗試如下,但它會給出一個無關聯的錯誤:
汽車模型:
class CarsTable extends Table {
public function initialize(array $config)
{
parent::initialize($config);
$this->setTable('cars');
$this->setDisplayField('id');
$this->setPrimaryKey('id');
$this->hasOne('CarTypes', [
'className' => 'Cars.CarTypes',
'foreignKey' => 'type_id',
'propertyName' => 'type'
]);
$this->hasOne('CarMethods', [
'className' => 'Cars.CarMethods',
'foreignKey' => 'method_id',
'propertyName' => 'method'
]);
}
}
CarTypes型號:
class CarTypesTable extends Table {
public function initialize(array $config) {
parent::initialize($config);
$this->setTable('car_types');
$this->setDisplayField('id');
$this->setPrimaryKey('id');
$this->hasMany('Cars', [
'foreignKey' => 'type_id'
]);
}
}
個
CarMethots型號:
class CarMethodsTable extends Table {
public function initialize(array $config) {
parent::initialize($config);
$this->setTable('car_method');
$this->setDisplayField('id');
$this->setPrimaryKey('id');
$this->hasMany('Cars', [
'foreignKey' => 'method_id'
]);
}
}
您是否嘗試過的文檔? https://book.cakephp.org/3.0/en/orm/associations.html – burzum
是的,我試過文檔,但我不太明白。我已經爲你添加了代碼。 – CodeWhisperer
它有許多類型和方法的汽車。您可以像現在一樣指向表格本身的類型和方法。閱讀本書中的教程或關於如何關聯日期的一些通用SQL教程。:) – burzum