Как создать критерии со сложным запросом в структуре 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. Есть ли какой-нибудь систематический способ диагностировать причину проблемы в этой функции? Хорошая идея или нет? Ребята, у меня большая база кода .Net, и я пытаюсь познакомить команду с модульным тестированием. Они хорошие ребята, но для них это все в новинку (честно говоря, для меня это тоже в новинку). Один из ...

      Ребята, У меня обширная база кода .Net, и я пытаюсь познакомить команду с модульным тестированием. Они хорошие ребята, но для них это все в новинку (честно говоря, для меня это тоже в новинку).

      Одна из проблем заключается в том, что кодовая база интенсивно использует статические классы в System.IO, их много в библиотеки статических классов и классов не записываются в интерфейсы (если для этого нет реальной причины в дизайне).

      Я разрабатываю стратегию простоты использования с использованием NUnit и FakeItEasy.

      Для решения зависимости статических классов Я написал инструмент, который генерирует классы-оболочки и интерфейсы для существующих статических классов. например, в файле конфигурации я говорю, что мне нужны оболочки для Каталог и файл System.IO , инструмент генерирует сборку с кодом по строкам. . . nored com / user / google . Вот шаги для воспроизведения проблемы (убедитесь, что вы вставили вызовы NSLog в методы контроллера UIWebViewDelegate ):

      1. Загрузите указанный выше URL-адрес YouTube в UIWebView [обратите внимание, что здесь методы UIWebViewDelegate вызываются при загрузке страницы]
      2. Коснитесь категории «Загрузки» на странице.
      3. Коснитесь любого видео в этой категории [ проблема: заметили, что новая страница загружена, но ни один из делегатов UIWebView не вызывается]

      Я знаю, что это не проблема того, что делегат UIWebView не является установлен правильно, так как методы делегата вызываются при загрузке других ссылок (например, если вы попытаетесь щелкнуть ссылку, которая выводит вас за пределы YouTube, вы заметите, что вызываются методы делегата).

      Сначала мне казалось, что это может быть связано с тем, что страница загружается с использованием AJAX, который может не вызывать метод делегата. Но затем, когда я проверил iPhone Safari, он не обнаружил этой проблемы, так что это должно быть что-то на моей стороне.

      Я также заметил, что у Three20 TTWebController точно такая же проблема, как у меня ». м, имеющий.

      Но проблема, которая возникает из-за этой проблемы, заключается в том, что без вызываемых методов делегата я не могу обновить пользовательский интерфейс, чтобы включить / отключить кнопки просмотра назад и вперед при загрузке новых запросов.

      И идея, почему это происходит или как я могу обойти это, чтобы обновить пользовательский интерфейс при создании нового запроса?

17
задан Dia Kharrat 11 January 2011 в 18:21
поделиться