Die*_*ter 33 laravel laravel-4
我正在使用Laravel 4在我的数据库中导入一堆csv条目.
我不能指出一个必须是唯一的列,它是5列的组合,使其独特.但是:如何在Laravel中定义这个?
选项1:模式构建器
您可以使用$ table-> unique('email')方法,但这似乎只允许一列,而不是列的组合.
选项2:验证
不太可取,但我可以在插入之前验证模型.但是,再次使用"unique:[table]"验证规则,当其中一个列值不唯一时,它将返回错误,而不是它们的组合.
谁能告诉我应该怎么做呢?
我确定我错过了一些东西,但我可以用正确的方向推动:-)
谢谢,
迪特
Ant*_*iro 79
你可以结合:
$table->unique( array('email','name') );
Run Code Online (Sandbox Code Playgroud)
Laravel中的所有内容都会接受数组,以便通过"多个"来执行您需要的任何操作.
unique()正如Antonio所提到的,使用Schema Builder的方法来定义您的数据模型.
此外,如果要在模型上使用验证,请考虑我Validator的多个UNIQUE索引的自定义规则:https://github.com/felixkiss/uniquewith-validator
小智 7
你也可以这样做;
$table->unique(["column1", "column2"], 'uq_columns');
这意味着您将拥有所有列的唯一列组合,即 column1 和 column2
| 归档时间: |
|
| 查看次数: |
22448 次 |
| 最近记录: |