StarUML делает просто это, и это свободно. К сожалению, это не было обновлено некоторое время. Было несколько проектов ответвления (поскольку администраторы проекта не позволят ему быть принятым), но они также умерли смертью.
Проверяете ли вы свойство bounds или свойство frame? Некоторые элементы управления, особенно UIViews, заполняющие экран, по-видимому, поддерживают один и тот же фрейм в любой ориентации; Я думаю, что AppKit устанавливает свое свойство преобразования для поворота их содержимого.
Вы, вероятно, обнаружите, что свойство bounds имеет значение, которое вы ожидаете большую часть времени, а свойство frame - нет.
но это ограничивает переносимость вашего кода (может быть, следующая версия MySQL вернет столбцы в другом порядке?). Рекомендуемое решение - переписать запрос и перечислить все обязательные поля вместо звездочки, а для неоднозначных - использовать псевдонимы.Возможно, вы захотите быть более точным в своем запросе. Таким образом, вы можете указать псевдонимы для своих столбцов:
SELECT
A.foo as a_foo,
B.foo as b_foo
FROM A
LEFT JOIN B ON A.columnc = B.columnd
Вы должны использовать псевдонимы столбцов в операторе select.
В Java + MySQL из объекта ResultSet вы можете использовать, например, getString ("a.id"), а также getString ("b.id"), если ваш запрос был похож на "SELECT a.id, b.id FROM a, b "
Я не знаю, есть ли что-то подобное в PHP.
С уважением