Код: Выделить всё
Translations
| Language id | translation | record_id | column_name | table_name |
====================================================================
| 1 | Hello | 1 | test_column | test_table |
| 2 | Aloha | 1 | test_column | test_table |
| 1 | Test input | 2 | test_column | test_table |
Это работает нормально, но мне нужно просмотреть около 600 файлов представлений, чтобы применить это... Мне было интересно, можно ли внедрить немного SQL в мои модели CodeIgniter прямо перед $this->db->get() исходной записи, которая заменяет исходный столбец переведенным один.
Примерно так:
Код: Выделить всё
$this->db->select('column_name, col_2, col_3');
// Injected SQL pseudocode:
// If RECORD EXISTS in table Translations where Language_id = 2 and record_id = 2 AND column_name = test_column AND table_name = test_table
// BEGIN
// SELECT translations.translation as column_name
// WHERE translations.table_name = test_table AND column_name = test_column AND record_id = 2
// END
// ELSE
// BEGIN
// SELECT translations.translation as column_name
// WHERE translations.table_name = test_table AND column_name = test_column AND record_id = 1
// END
$this->db->get('test_table');
Подробнее здесь: https://stackoverflow.com/questions/195 ... b-get-call
Мобильная версия