我正在使用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',
]);
}
Run Code Online (Sandbox Code Playgroud)
但是,上面的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,
]);
Run Code Online (Sandbox Code Playgroud)
有没有办法配置蛋糕烘焙自动生成手动启用级联删除的代码?
编辑:添加赏金以邀请配置烘焙模板的答案.