Как создать критерии со сложным запросом в среде Yii?

Для школьного проекта мне нужно создать простое приложение для рисования, которое может рисовать линии, овалы и прямоугольники.

В задании указано, что мне нужны кнопки панели инструментов и пункты меню для каждый тип формы.

Я бы хотел пойти немного дальше и дальше, сделав кнопки JToggleButtons на панели инструментов и пункты меню JRadioButtonMenuItems . Кроме того, я хочу, чтобы когда вы выбираете одну из кнопок панели инструментов, она отменяет выбор других, выбирает соответствующий пункт меню и отменяет выбор других пунктов меню. То же самое для выбора одного из пунктов меню.

Я знаю, что могу сгруппировать любую AbstractButton с помощью ButtonGroup , но я не уверен, что это правильный путь, потому что хотя он отлично справляется с одной "группой" кнопок, Итак, я попробовал следующее в /Configuration/TypoScript/setup.txt: plugin.myextension ....

Я расширил таблицу страниц и теперь хочу использовать некоторые данные в объекте домена под названием «Теги ".
Итак, я попробовал следующее в /Configuration/TypoScript/setup.txt :

plugin.myextension.persistence.classes.Tx_myextension_Domain_Model_Tag {
    mapping {
        tableName = pages
        recordType = Tx_myextension_Domain_Model_Tag
        columns {
            tx_myextension_tag_name.mapOnProperty = name
            uid.mapOnProperty = id
        }
    }
}

Но похоже, что расширение пытается получить доступ к таблице Tx_myextension_Domain_Model_Tag (которой не существует)

Это Я получаю ошибку:

Tx_Extbase_Persistence_Storage_Exception_SqlError`

Таблица 'tx_myextension_domain_model_tag' не существует: SELECT tx_myextension_domain_model_tag. * FROM tx_myextension_domain_model_tag. * FROM tx_myextension_domain_model_tag. * FROM tx_myextension_domain_model_tag. * FROM tx_myextension_domain_model_tag. 121 --- 1853032-

Могу ли я скрыть свои поля ICollection <t>, когда у меня есть отображение "один ко многим" только в коде EF4? </t> Мои классы домена, которые имеют сопоставления "один ко многим", обычно принимают следующая форма (непроверенный код): public Customer Customer {// Публичные методы. public Order AddOrder (порядок заказа) {...

Мои классы домена, которые имеют сопоставления «один-ко-многим», обычно принимают следующую форму (непроверенный код):

public Customer Customer
{
    // Public methods.

    public Order AddOrder(Order order)
    {
        _orders.Add(order);
    }

    public Order GetOrder(long id)
    {
        return _orders.Where(x => x.Id).Single();
    }

    // etc.

    // Private fields.

    private ICollection _orders = new List();
}

Примеры кода только EF4 Я видел, как открывать общедоступную коллекцию ICollection при работе с отношениями «один ко многим».

Есть ли способ сохранить и восстановить мои коллекции, открыв их? В противном случае может показаться, что мои объекты домена будут разработаны с учетом требований ORM, что, похоже, противоречит духу наших усилий. Предоставление ICollection (с его методами Add и т. Д.) Не кажется особенно чистым и не будет моим подходом по умолчанию.

Обновление

Найдено это сообщение , которое предполагает, что это не так. возможно в мае. Конечно, плакат Microsoft действительно сказал, что они были " {int x, y; } эти два значения могут использоваться для представления позиции, а также ширины и высоты. предоставляет ли C ++ возможность для ...

Допустим, у меня есть базовый класс 2D-векторов вроде

class vector2
{
  int x, y;
}

, эти два значения могут использоваться для представления положения, а также ширины и высоты. С ++ предоставляет мне возможность реализовать такую ​​функцию, как vector2 :: getXpos () , а затем также определить vector2 :: getWidth () и использовать ту же реализацию.

Я знаю, что могу просто сделать обе эти функции встроенными, но компилятор может решить не встраивать эти функции. поэтому, если getWidth только что вызвал getXpos , вы получите два вызова функций.

Более реалистичный пример того, для чего я хотел бы использовать это, - getLength () и эээ ... сетка = новый Slick.Grid ($ ("# myGrid"), данные, столбцы, параметры); В ClassA есть такие методы. void Add (строка str); В ClassA есть такие методы. void Add (строка str); void ...

Есть такая проблема дизайна.

Предположим, у вас есть набор классов, реализующих похожие методы, но не идентичные.

Пример: ClassA имеет такие методы.

void Add(string str);
void Delete(string str);
List GetInfo(string name);

Другой класс, ClassB, имеет следующие методы.

void Add(Dictionary Info);
void Delete(string str);
Dictionary GetInfo(string name);

Итак, природа методы аналогичны, но типы возвращаемых данных / входные параметры отличаются. Если я разработаю интерфейс для сохранения согласованности, я могу определить только операцию удаления там. В качестве альтернативы я могу думать о наборе независимых классов без каких-либо отношений друг с другом (конечно, без реализаций интерфейса), но я не думаю, что это хороший дизайн.

  1. Какой подход я могу использовать для реализации этого?
  2. Я новичок в общих интерфейсах. Помогает ли это в этом случае? Если так, я собираюсь изучить и внедрить их. { общедоступные: CGarage (); ~ CGarage (); typedef std :: vector CarCollection; ...

    В своей повседневной работе я часто пишу классы, как в этом упрощенном примере:

    class CGarage
    {
    public:
        CGarage();
        ~CGarage();
        typedef std::vector CarCollection;
    
    private:
        CarCollection m_Cars;
    };
    

    Я хочу, чтобы пользователи CGarage могли только читать доступ к коллекции CarCollection. Для достижения этой цели есть несколько общих решений, которые все не очень удовлетворительны:

    Решение 1

    class CGarage
    {
        Car GetCar(CarCollection::size_type index) const;
        CarCollection::size_type CarCount() const;
    };
    

    Главный недостаток:

    • Из-за отсутствия итераторов я не могу использовать алгоритмы STL в Cars (например, for_each (. ..))

    Решение 2

    class CGarage
    {
        CarCollection::const_iterator CarBegin() const;
        CarCollection::const_iterator CarEnd() const;
        CarCollection::size_type CarCount() const;
    };
    

    Главный недостаток: чтобы увидеть, что недавно выводил процесс nohup-ed? У меня все еще открыт этот процесс, но я запустил его с перенаправлением всего вывода на /dev/...

    Я знаю, что шансы крайне низки, но есть ли способ и я могу показать, что время тратится после завершения работы функции, но до того, как она вернет управление, следующим методом:

    ts1 = tic;
    disp ('calling function');
    functionCall(args);
    disp (['control returned to caller - ', num2str(toc(ts1))]); 
    

    Первая строка функции, которую я вызываю, - ts2 = tic , а последняя строка is

    disp (['last line of function- ', num2str(toc(ts2))]);
    

    Результатом является

    вызывающая функция

    последняя строка функции - 24.0043

    элемент управления возвращен вызывающей стороне - 49.857

    Пробираясь сквозь сети, я думаю, что это симптом того, как MATLAB управляет объем памяти. Он освобождается при возврате функции, и иногда это занимает много времени. Функция выделяет несколько больших (~ 1 миллион элементов) массивов. Он также работает с дескрипторами, но не создает никаких новых объектов дескрипторов или хранилищ явно. У меня следующие вопросы:

    1. Это определенно проблема с управлением памятью?
    2. Есть ли какой-нибудь систематический способ диагностировать причину проблемы в этой функции? Запрос состоит из структуры карты, содержащей строки, целые числа и прочее ...

      У нас есть размещенные в облаке (RackSpace cloud) приложения Ruby и Java, которые будут взаимодействовать следующим образом:

      1. Приложение Ruby отправляет запрос в приложение Java. Запрос состоит из структуры карты, содержащей строки, целые числа, другие карты и списки (аналог JSON).
      2. Приложение Java анализирует данные и отправляет ответ в приложение Ruby.

      Мы заинтересованы в оценке обоих форматов обмена сообщениями (JSON, Буферные протоколы , Экономия и т. Д.), А также каналы / методы передачи сообщений (сокеты, очереди сообщений, RPC, REST, SOAP и т. Д.)

      Наши критерии:

      1. Короткое время приема-передачи.
      2. Низкое стандартное отклонение времени приема-передачи. (Мы понимаем, что паузы в сборке мусора и скачки использования сети могут повлиять на это значение.)
      3. Высокая доступность.
      4. Масштабируемость (в будущем мы можем захотеть иметь несколько экземпляров приложений Ruby и Java, обменивающихся сообщениями точка-точка).
      5. Простота отладки и профилирования.
      6. Хорошая документация и поддержка сообщества.
      7. Бонусные баллы за поддержку Clojure.
      8. Хорошая поддержка динамического языка.

      Какую комбинацию формата сообщения и метода передачи вы бы порекомендовали? Почему?

      Я собрал здесь некоторые материалы, которые мы уже собрали для ознакомления:char @ mЭтот SQL-запрос выдает «не выражение GROUP BY» ...

      Мне нужна небольшая помощь, чтобы кое-что исправить, я знаю, что это очень простой легкий вопрос, но это то, что меня немного сбивает с толку в SQL.

      Этот SQL-запрос выдает ошибку «не выражение GROUP BY» в Oracle. Я понимаю, почему, поскольку я знаю, что, как только я группирую по атрибуту кортежа, я больше не могу получить доступ к любому другому атрибуту.

      SELECT * 
      FROM order_details 
      GROUP BY order_no
      

      Однако этот действительно работает

      SELECT SUM(order_price)
      FROM order_details
      GROUP BY order_no
      

      Просто чтобы конкретизировать мое понимание этого .... что есть несколько кортежей в order_details для каждого созданного заказа, после того как я группирую кортежи в соответствии с order_no, я все еще могу получить доступ к атрибуту order_price для каждого отдельного кортежа в группе, но только с помощью агрегатной функции?

      В другом слова агрегатные функции при использовании в предложении SELECT могут углубиться в группу, чтобы увидеть «скрытые» атрибуты, где простое использование «SELECT order_no» вызовет ошибку?

41
задан Dale K 5 December 2018 в 07:12
поделиться