Laravel 4 复合主键上的标识符名称太长

Laravel 4 复合主键上的标识符名称太长,laravel-4,eloquent,composite-primary-key,Laravel 4,Eloquent,Composite Primary Key,我试图定义以下复合主键: $table->primary(array('user_id', 'object_id', 'object_type', 'object_filter_id')); 但我得到了一个“标识符名称太长”。Eloquent试图将其设置为标识符:“用户\监视列表\用户\标识\对象\标识\对象\类型\对象\过滤器\标识\主” 有什么解决办法吗 谢谢你找到了。查看Blueprint.php源代码,我可以看到primary()函数有第二个参数$name public func

我试图定义以下复合主键:

$table->primary(array('user_id', 'object_id', 'object_type', 'object_filter_id'));
但我得到了一个“标识符名称太长”。Eloquent试图将其设置为标识符:“用户\监视列表\用户\标识\对象\标识\对象\类型\对象\过滤器\标识\主”

有什么解决办法吗


谢谢你找到了。查看Blueprint.php源代码,我可以看到primary()函数有第二个参数$name

public function primary($columns, $name = null)

找到了。查看Blueprint.php源代码,我可以看到primary()函数有第二个参数$name

public function primary($columns, $name = null)

它也适用于外键


外键(string | array$columns,string$name=null)

,它也适用于外键

外部(字符串|数组$columns,字符串$name=null)