我正在使用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',//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,]);
编辑:添加赏金以邀请配置烘焙模板的答案.
很不幸的是,不行…
从Cake Back Model生成器,您可以配置与Cascading选项的关联.
您可以通过键入命令bin / cake bake model –help来查看cake bake model选项的帮助
$bin/cake bake model --help Welcome to CakePHP v3.3.3 Console --------------------------------------------------------------- App : src Path: C:\wamp\www\student_logic\src\ PHP : 5.5.12 --------------------------------------------------------------- Bake table and entity classes. Usage: cake bake.bake model [subcommand] [options] [<name>] Subcommands: all Bake all model files with associations and validation. To see help on a subcommand use `cake bake.bake model [subcommand] --help` Options: --help,-h Display this help. --verbose,-v Enable verbose output. --quiet,-q Enable quiet output. --plugin,-p Plugin to bake into. --force,-f Force overwriting existing files without prompting. --connection,-c The datasource connection to get data from. (default: default) --theme,-t The theme to use when baking code. (choices: Bake|Migrations) --table The table name to use if you have non-conventional table names. --no-entity Disable generating an entity class. --no-table Disable generating a table class. --no-validation Disable generating validation rules. --no-rules Disable generating a rules checker. --no-associations Disable generating associations. --no-fields Disable generating accessible fields in the entity. --fields A comma separated list of fields to make accessible. --no-hidden Disable generating hidden fields in the entity. --hidden A comma separated list of fields to hide. --primary-key The primary key if you would like to manually set one. Can be a comma separated list if you are using a composite primary key. --display-field The displayField if you would like to choose one. --no-test Do not generate a test case skeleton. --no-fixture Do not generate a test fixture skeleton. Arguments: name Name of the model to bake. Can use Plugin.name to bake plugin models. (optional) Omitting all arguments and options will list the table names you can generate models for