2015-12-25 41 views
15

我有這樣的遷移:雄辯模型返回0作爲主鍵

Schema::create('provincias', function (Blueprint $table) { 
    $table->string('codigo', 2); 
    $table->string('nombre', 50); 
    $table->timestamp('creado'); 
    $table->primary('codigo'); 
}); 

這是我的模型:

class Provincia extends Model 
{ 
    protected $primaryKey = 'codigo'; 
    public $timestamps = false; 
} 

我運行的遷移和保存這樣的數據:

$provincia = new Provincia; 
$provincia->codigo = "BA"; 
$provincia->nombre = "Buenos Aires"; 
$provincia->save(); 

問題是,當我得到所有和轉儲:

$provincias = Provincia::all(); 
return $provincias; 

主鍵「codigo」始終爲0,甚至當我檢查數據庫表中,並有適當的值:

{ 
    codigo: 0, 
    nombre: "Buenos Aires", 
    creado: "2015-12-24 21:00:24" 
} 
+2

試着在模型'public $ incrementing = false;設置遞增爲false;'看看能否工作 – nrivero

回答

46

您可以嘗試在你的模型,因此口才並不指望您的主設定public $incrementing = false;關鍵是成爲一個自動增量主鍵。

+0

它的工作,謝謝! – Alan

+1

謝謝一堆。令人驚訝的是,在Laravel 5.1中,我不需要這個屬性,但在5.4中需要它。 –

+0

我剛剛從5.1遷移到Laravel 5.4。非常感謝你提供這個寶貴的建議。 – DavidHyogo