Laravel'i kullanıyorsanız, büyük olasılıkla bir Eloquent gibi bir ORM'ye erişiminiz olacaktır. Eğer anlamlı kullandığınız varsayarsak, böyle bir şey yapmak mümkün olabilir: yani `doktrin/dbal` en` listTableIndexes
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) {
}
laravel noktalar (özellikle Şema) içinde Doctrine kullanır() 'daha iyi bir çözüm olabilir MySQL'e özgü bir "DB :: raw" çağrısından daha fazla. http://doctrine-dbal.readthedocs.org/en/latest/reference/schema-manager.html – ceejayoz
@ceejayoz Bunun için teşekkürler. Bugün bir şey öğrendim :) –
@ceejayoz Laravel'de Doktrin Yöneticisi'ni almak için: '$ conn = Şema :: getConnection() -> getDoctrineSchemaManager()' – shrimpwagon