Laravel 拉威尔:这个论点是如何确定的?

Laravel 拉威尔:这个论点是如何确定的?,laravel,Laravel,有人能解释一下程序段和程序id的命名约定是怎么回事吗。我想了解为什么需要它。函数调用指定了表名,并且我们已经删除了一个fk,列名是program_id…为什么它不仅仅是dropForeign'program_id'?Laravel对需要这种格式的特殊名称做了什么?这是数据库约定还是什么?我还在学习,谢谢 Schema::table('program_segments', function(Blueprint $table) { $table->foreign

有人能解释一下程序段和程序id的命名约定是怎么回事吗。我想了解为什么需要它。函数调用指定了表名,并且我们已经删除了一个fk,列名是program_id…为什么它不仅仅是dropForeign'program_id'?Laravel对需要这种格式的特殊名称做了什么?这是数据库约定还是什么?我还在学习,谢谢

        Schema::table('program_segments', function(Blueprint $table) {
        $table->foreign('program_id')->references('id')->on('programs')
                    ->onDelete('no action')
                    ->onUpdate('no action');



    Schema::table('program_segments', function(Blueprint $table) {
        $table->dropForeign('program_segments_program_id_foreign');

实际上,它取决于您使用的DBMS,在MySQL中,外键约束名称是数据库的全局名称,并且作为一个框架,Laravel必须选择一个约定来支持所有DBMS。此外,如果没有约定,当您得到一个约束冲突更新delete…,很难找到外键的关联位置,特别是与一个巨大的数据库和一个复杂的查询关联