我正在使用 cakephp v3.3.3
使用 cake bake 自动生成代码后,我有这个 php 文件 BallsTable.php,它具有下面的 initialize() 函数;
public function initialize(array $config)
{
parent::initialize($config);
$this->table('balls');
$this->displayField('id');
$this->primaryKey('id');
$this->belongsTo('Baskets', [
'foreignKey' => 'basket_id',
'joinType' => 'INNER'
]);
$this->hasMany('BallRecords', [
'foreignKey' => 'ball_id',
]);
}
但是,上面的 initialize() 函数不允许我进行级联删除。
我需要像下面那样手动修改 initialize() 以启用级联删除。但这很麻烦,因为每次新蛋糕烘烤都会覆盖文件。
$this->hasMany('BallRecords', [
'foreignKey' => 'ball_id',
//http://book.cakephp.org/3.0/en/orm/deleting-data.html
//manually add the 2 lines below to enable cascading delete
'dependent' => true,
'cascadeCallbacks' => true,
]);
有没有办法将蛋糕烘焙配置为自动生成手动启用级联删除的代码?
编辑:添加了一个赏金来邀请配置烘焙模板的答案。