我試圖創建一個Laravel遷移表,但我遇到了一些麻煩。 我只需要創建一個帶有主對('id'和'revision')的表,'id'是一個自動增量。 我可以在MySQL中做到這一點,但我無法用Laravel Migrations來設置它,因爲增量()也會將該字段設置爲主要字段。 到目前爲止,我有這樣的:Laravel遷移:當它不是主要時自動遞增密鑰
Schema::create('bibliographies', function(Blueprint $table)
{
$table->increments('id');
$table->integer('revision');
...
$table->timestamps();
$table->softDeletes();
$table->primary(array('id', 'revision'));
});
注:改變增量()方法是不是一種選擇,因爲它是Laravel核心。
非常感謝您的幫助。
我已經嘗試過,但沒有成功。它返回我這個錯誤: [Illuminate \ Database \ QueryException] SQLSTATE [42000]:語法錯誤或訪問衝突:1075不正確的表定義;可以只有一個自動 列,它必須被定義爲一個鍵(SQL:alter table'bibliographies' drop primary key) 此外,該表僅使用'id'作爲主鍵,我需要手動刪除它。 – CarlosMaia 2014-11-01 21:32:25
@CarlosMaia假設你實際上並不需要一對列作爲** primary **,你可以使它們[唯一](http://laravel.com/api/4.1/Illuminate/Database/Schema/Blueprint。 html#method_unique)沒有任何問題 - 會工作嗎? – Joe 2014-11-02 09:41:15
是的,它的工作原理。謝謝你,小夥伴! – CarlosMaia 2014-11-02 22:18:00