39

Laravel 4 を使用してデータベースに一連の csv エントリをインポートしています。

一意でなければならない 1 つの列を特定することはできません。5 つの列を組み合わせて一意にする必要があります。ただし、Laravelでこれをどのように定義しますか?

オプション 1: スキーマ ビルダー
$table->unique('email') メソッドを使用できますが、列の組み合わせではなく、1 つの列しか許可されないようです。

オプション 2: 検証
あまり好ましくありませんが、挿入する前にモデルを検証できました。ただし、ここでも「unique:[table]」検証ルールを使用すると、列値の組み合わせではなく、列値の 1 つだけが一意でない場合にエラーが返されます。

これについてどうすればいいのか誰か教えてもらえますか?
私は何かが欠けていると確信していますが、正しい方向にプッシュすることができます:-)

ありがとう、

ディーター

4

5 に答える 5

90

以下を組み合わせることができます。

$table->unique( array('email','name') );

そして、Laravel のほとんどすべてが配列を受け入れて、「複数」で必要なことを何でも行うことができます。

于 2013-06-07T18:40:06.190 に答える
-4

これを試すことができます

$table->string("name");
$table->string("email")->unique("name")
于 2015-04-03T15:07:08.443 に答える