Похоже Вы правы. Действительно нужно использовать метод filter. Только проблема в том, что плагин Quicksand после такой фильтрации невесть как себя ведет...
Виталий Инчин: не не, здесь дело не в webix. Он бы все нормально отработал как вы пишите. Эта ерунда из-за requirejs. Из методов которые вызваны через requirejs нельзя достучаться до других методов объекта. Точнее нельзя достучаться напрямую. А вот как до них добраться в обход requirejs я еще не разобрался
Виталий Инчин: Вот воссоздал я свою беду: webix.com/snippet/8e207916
В методе initMaps пытаюсь вызвать метод test. Вылетает ошибка, мол что test это не функция. В методе initLibs этот код срабатывает правильно: this.test() и вылетает два сообщения, все как надо. Я вот думаю может тут где-то с requirejs собака зарыта?initMaps ведь вызывается через requirejs, когда фреймворк OpenLayers подгрузится...
Ну да, у меня так и есть как Вы третьим пунктом написали. В сабже у меня как раз obj развернуто описан. Получается мне внутри одного объекта нужно из одного метода вызвать другой. Поэтому я и пытался сделать это через this, полагая что это будет ссылка на мой obj. А на деле получается this ссылается на объект window, где метод test не определен
Kir ---: Да второй пример ближе к решению. И книги дает 2, но среди этих двух книг иногда появляется третья книга. Если выстроить книги по дате создания, то идут книги 1, 2, 3, 4. Мне надо чтобы показывались книги 1 и 2 в случайном порядке. А показывается иногда книги 1, 3 или 2, 3. В этом и загвоздка
Тут все ситуативно. Например, в данном случае many-to-many было бы правильным решением. Представьте себе задачу, когда Вам нужно сделать выборку книг по тегам. В моем случае, это нужно перебирать все книги, извлекать массив с тегами и искать в нем нужный тег. Очень много лишних действий.
В реализации many-to-many нужный тег находится в таблице tags и через таблицу books_tags джоином можно сразу выбрать нужные книги.
Мне еще предстоит заняться здесь рефакторингом.