7
A
回答
12
虽然Laravel不提供任何方法来检查密钥的存在,但您可以使用任何of the available queries in MySQL,然后使用DB::select()
。
例如:
$keyExists = DB::select(
DB::raw(
'SHOW KEYS
FROM your_table_name
WHERE Key_name=\'your_key_name\''
)
);
只需更换正确的价值观your_table_name
和your_key_name
。
5
如果您使用的是Laravel,那么您很可能会访问像Eloquent这样的ORM。假设你使用的口才,你也许能够做这样的事情:
try {
Schema::table(
'the_name_of_your_table',
function (Blueprint $table) {
$sm = Schema::getConnection()->getDoctrineSchemaManager();
$indexesFound = $sm->listTableIndexes('the_name_of_your_table');
$indexesToCheck = [
'index_name_1',
'index_name_2',
'index_name_3',
'index_name_4'
];
foreach ($indexesToCheck as $currentIndex) {
if (array_key_exists($currentIndex, $indexesFound)) {
// The current index exists in the table, do something here :)
}
}
}
);
} catch (Exception $e) {
}
相关问题
- 1. 检查WebSQL中是否存在索引
- 2. 检查数组索引是否存在
- 3. RavenDb检查索引是否存在
- 4. 检查矩阵索引是否存在
- 5. 检查一个索引是否存在于mongodb中
- 6. PHP如何检查是否在数组键是唯一
- 7. 如何检查下一个索引是否存在 - LODASH
- 8. 检查一个给定的索引是否存在于std :: vector
- 9. 唯一索引或唯一键?
- 10. Sql Server唯一键也是索引吗?
- 11. Laravel 5.3检查结果是否存在
- 12. Laravel s3检查目录是否存在。
- 13. Laravel检查用户是否存在
- 14. Laravel检查id是否存在?
- 15. Laravel 5.2检查方法是否存在?
- 16. 唯一索引在INFORMATION_SCHEMA不是唯一
- 17. 多列唯一索引键
- 18. 编译器检查字典中的键是否唯一
- 19. 检查是否在数组存在键
- 20. 检查索引中是否存在文档的条件(Lucene.NET)
- 21. Lucene.NET - 检查索引中是否存在文档
- 22. PHP - 检查索引是否已经存在于SQL中
- 23. 如何动态检查数组中的索引是否存在?
- 24. 检查列表中是否存在索引
- 25. Lucene.NET - 检查索引中是否存在文档
- 26. 如何检查文档是否存在于lucene索引中?
- 27. 检查值是否存在于数组的所有索引中
- 28. SQL Server 2008中检查是否存在索引
- 29. VoltDB是否支持唯一索引?
- 30. 检查是否存在多个中间件之一laravel 5
Laravel使用学说的斑点(尤其是架构),所以'学说/ dbal'的'listTableIndexes()'可能是一个更好的解决方案而不是一个特定于MySQL的'DB :: raw'调用。 http://doctrine-dbal.readthedocs.org/en/latest/reference/schema-manager.html – ceejayoz
@ceejayoz谢谢你。我今天学到了一些东西:) –
@ceejayoz为了得到Laravel中的Doctrine Manager:'$ conn = Schema :: getConnection() - > getDoctrineSchemaManager()' – shrimpwagon