2016-04-11 7 views
2

カスタムカレンダーの日付を保存するテーブルがあります。だから私はid pkは必要ありません。では、Eloquent(LaravelのORM)を使用して、日付を主キーとして設定する方法を教えてください。私はすでにLaravelのドキュメントを読んでいましたが、その方法を見つけることはできません。出来ますか?そしてどうやって?そうでなければ、私は不慣れなidフィールドを使うつもりです。Laravelデータベースの移行で非id主キーを定義するにはどうすればよいですか?

$table->primary(array('key1', 'key2', 'key3'));

ちょうどあなた自身のキーを指定:カスタムキー(複数可)を設定したい場合は、次の操作を行うことができます

public function up() 
{ 
    Schema::create('t_calendarios', function (Blueprint $table) { 
     $table->primary()->date('fecLab'); 
    }); 
} 

答えて

3

まず、あなたがあなたの「fecLab」列を追加する必要があり、それが一意である必要があります。

$table->date('fecLab')->unique(); 

その後、あなたはこのような主キーを設定することができます:あなたが持つ複合材料にしたい場合は

$table->primary('fecLab'); //Add a primary key. 

を他のキー:

$table->primary(['fecLab', 'id']); //Add composite keys. 

参考:Creating Index (Laravel Doc)

0

は、私はすでにこのような何かを試してみましたあなたはプライマリになりたいと思っており、あなたは設定する必要があります。お役に立てれば!

関連する問題