Алексей
дай пример константы
вообще мне бы там массив хранить бы. т.е. уже не константа.
Иван
вообще мне бы там массив хранить бы. т.е. уже не константа.
уже интереснее) что ты там собрался хранить?
Алексей
уже интереснее) что ты там собрался хранить?
есть жоска заданные названия таблиц в разных базах, имена которых будут использоваться как в модели, которая ещё не знает, к какой соседней модели она сделает запрос, так и в контроллерах, для сравнения строк и пр.
Иван
оу оу, палехче
Иван
в контроллерах не надо строки никакие сравнивать
Aleksandr
что-то в этой архитектуре меня смущает
Иван
одна модель - одна таблица
Aleksandr
название таблицы хранится в модели, в tableName()
Иван
а бывают вообще динамические названия таблиц в базах, не жестко заданные?)
Aleksandr
если надо связать как-то два active record'a используй дополнительную модель для связки
Aleksandr
бывают с префиксом
Aleksandr
{{%tablename}}
Алексей
блин, так и знал, что ща навлеку на себя праведный гнев))))
Aleksandr
@garpun лайфхак - нарисуй сначала схему
Aleksandr
потом посмотри на нее раз 7, и нарисуй еще несколько раз)
Алексей
Кароче, поиск идёт по таблице Сфинкса, он отдаёт результат, с id записи и названием таблицы в другой базе, где нужно взять строку с этим айди. Результат выборки из Сфинкса мне надо куда-то вернуть, так как с базой ща происходят пертурбации, то я возвращаю обратно в контроллер результат, где на основании пришедшего названия таблицы уже делаю запрос в другую модель, но для этого мне надо сравнить пришедшее название таблицы, с хранящимся ГДЕ-ТО, вот уже надо и в контроллере доступ к названию таблиц и в модели(ях) надо будет, вот я и задумался над тем, где бы мне глобально хранить названия таблиц.
Aleksandr
есть принцип единственной зависимости, ActiveRecord умеет работать с одной конкретной таблицей - записывать и получать (ну по идеи так должно быть, но во всех фреимворках - это золотой молоток конечно), и должна быть модель, которая просто расширяет Model, которая хранит логику их взаимодействия. Больше взаимодействий - больше моделей. Но одна модель, должна отвечать за что-то одно. Константы - это неизменные переменные класса.
Aleksandr
ну
Aleksandr
в контроллере ты работаешь с моделями, а модели с базой
Aleksandr
тебе не надо хранить названия таблиц. создай модель и передай в нее модели, а там сравнивай эти модели как хочешь
Иван
зачем сфинкс знает названия таблиц в базе, не понимаю...
Алексей
зачем сфинкс знает названия таблиц в базе, не понимаю...
я тоже пока, но так придумал мой тимлид (начинающий)
Niko
Ошибок нет. Ещё collaps неправильно работает. Из свернутого состояния нажимаю на +, чтоб он выехал, а он не выезжает, а закрывает внешний .box и на экране ничего не остается. На сервере не обновлял композер - все работает, верстку и другое не правил. На локалке обновился и пол фронтенда накрылось
Удалил из composer.json "dmstr/yii2-adminlte-asset": "^2.1" произвел composer update дописал в composer.json "dmstr/yii2-adminlte-asset": "2.4.*" и произвел composer update В последней версии этого пакета какая-то бага и имеются ошибки в js, приводящие весь интерфейс в негодность
Aleksandr
я тоже пока, но так придумал мой тимлид (начинающий)
тимлиду подарите книжку "Принципы, паттерны и методики гибкой разработки на языке C# - Мартин М., Мартин Р. С.", привяжите к стулу, и не отпускайте, пока не прочитает от корки до корки раз 10
Ivan
В Sphinx надо было создавать отдельные индексы на отдельные таблицы. И в AR модели на отдельную таблицу сделать стандартную связь has one на основную AR модель из РСУБД
Aleksey
ты должно делать грамотно в первую очередь
Aleksandr
а лучше пусть идет домой)
Алексей
Алексей
а лучше пусть идет домой)
Не, он полуруководитель. Перспективный.
Anonymous
$cat = Category::find()->select(['category.name'])->innerJoin('product', 'product.category_id = category.id')->asArray()->groupBy('category.name')->all(); $prod = Product::find()->select(['name'])->orderBy('name')->asArray()->all(); tojson($cat, $prod); функция. Файлы создает четко в папку web function tojson($cat, $prod){ $json = json_encode($cat); file_put_contents('cat.json', $json); $json = json_encode($prod); file_put_contents('prod.json', $json); } [{"name":" CATS BEST (\u041a\u044d\u0442c \u0411\u0435\u0441\u0442)"},{"name":" Ever Clean (\u042d\u0432\u0435\u0440 \u041a\u043b\u0438\u043d, \u0421\u0428\u0410)"},{"name":" Pi-Pi-Bent , (\u041f\u0418 \u041f\u0418 \u0411\u0435\u043d\u0442, \u0420\u043e\u0441\u0441\u0438\u044f)"}, ... <?php $form = ActiveForm::begin(); ?> <?php //$cat = json_decode(file_get_contents('cat.json')); //$prod = json_decode(file_get_contents('prod.json')); debug($cat); echo \kartik\widgets\Typeahead::widget([ 'name' => 'list', 'options' => ['placeholder' => 'Выберите производителя или товар:'], 'pluginOptions' => ['highlight'=>true], 'dataset' => [ [ 'prefetch' => 'cat.json', 'datumTokenizer' => "Bloodhound.tokenizers.obj.whitespace('value')", 'display' => 'value', 'templates' => [ 'header' => '<h3 class="league-name">Производители:</h3>' ] ], [ 'prefetch' => 'prod.json', 'datumTokenizer' => "Bloodhound.tokenizers.obj.whitespace('value')", 'display' => 'value', 'templates' => [ 'header' => '<h3 class="league-name">Товары:</h3>' ] ] ] ]); ?> <?php ActiveForm::end(); ?> НЕ ВЫВОДИТ СПИСОК. все стили и яваскрипты (нужные typehead) из ассетса цепляет. что делаю не так? Путь к файлам json уже тоже полностью прописывал - не помогает.
Алексей
еба
Anonymous
Здравствуйте. Помогите, пожалуйста
Anonymous
саму форму на странице показывает. Поле для ввода данных тоже. а список не хочет
👻
'prefetch' => 'cat.json', уверен что его подхватывает ?
👻
ты ж не в корне сайта явно работаеш с формой
Alex
Всем привет, есть такой вопрос: когда пытаюсь провести тест на codeception используя фикстуру user, то когда пытаюсь например провести тест sign up, то есть регистрацию, то после этого запись, которая была в таблице user удаляется. Кто знает, с чем это может быть связано? Если фикстуру не использую, то запись не удаляется.
Anonymous
'prefetch' => 'cat.json', уверен что его подхватывает ?
не уверен - но я и говорю - может там раскодировка нужна? а пути уже разные писал, в т.ч. и полные
👻
+ грузить данные в файл потом том читать может лучше в базу положить и из базы брать по человечески
Anonymous
[{"name":" CATS BEST (\u041a\u044d\u0442c \u0411\u0435\u0441\u0442)"},{"name":" Ever Clean (\u042d\u0432\u0435\u0440 \u041a\u043b\u0438\u043d, \u0421\u0428\u0410)"},{"name":" Pi-Pi-Bent , (\u041f\u0418 \u041f\u0418 \u0411\u0435\u043d\u0442, \u0420\u043e\u0441\u0441\u0438\u044f)"}, ... - то, что в файле лежит
👻
формат не верный помоему
👻
ща 1 сек
Anonymous
Не, он полуруководитель. Перспективный.
Полупокер он)) Был у меня один такой, хуёвый программист и такой же хуёвый руководитель)))
Ivan
В следующую среду fpx asset plug-in превратиться в тыкву, нужно обновиться. http://www.yiiframework.com/news/148/important-note-about-bower-and-the-asset-plugin/
Anonymous
Тимлидов развелось, ёпрст))
Anonymous
Каждый второй тимлид уже
Anonymous
АЛИЛУЯ
Ivan
Спасибо) Наконец-то! 😁
К сожалению он будет работать в новой версии
Ivan
Но это конечно не меняет того что надо давно уже перейти на asset packagist
Anonymous
К сожалению он будет работать в новой версии
Черт, я думал как раз таки на asset packagist перешли)
Алексей
Полупокер он)) Был у меня один такой, хуёвый программист и такой же хуёвый руководитель)))
ну этот такой же, по сути такой devOps, сервер поставит, настроит, но ща руководит программистами, вот мы ебёмся - кому и что делать.
Aleksey
отличный шанс подсидеть
Anonymous
😁тимлид админ который руководит программистами
Anonymous
Пхахахх, он не учёный ещё случаем?
Anonymous
@KoJIT смотри, тут до боли знакомые ситуации
Алексей
Чем больше ты пишешь, тем ужаснее всё это "слышать"
я тут уже дорабатываю до конца исп. срока, но всё не соберусь спросить у предущего прогера, который уволился, чо он ушёл. Но в принципе уже понятно.
Алексей
Anonymous
я тут уже дорабатываю до конца исп. срока, но всё не соберусь спросить у предущего прогера, который уволился, чо он ушёл. Но в принципе уже понятно.
Ты джун видимо? Да, джуну тяжко начинать в СНГ, много тут таких вот ТИМЛИДОВ СЕНЬОРОВ ПОМИДОРОВ С ОПЫТОМ 99lvl
Aleksandr
Anonymous
+ грузить данные в файл потом том читать может лучше в базу положить и из базы брать по человечески
в мульти там написано через json. Если непринципиально - то подскажите, что написать для цеплялки из базы? какая опция?
Borys
а как же
И модулей клепанул, да? :D
Anonymous
И модулей клепанул, да? :D
На модули не гони, в умелых руках годная вещь.
Alex
Кто работал с codeception?
Borys
На модули не гони, в умелых руках годная вещь.
Все годное если уметь это применять.
Дмитрий
Много кто наверное) Кто тестированием занимался
Aleksandr
@za4me чтобы приложение поддерживаемое было, всегда надо придерживаться архитектуры фреимворка, который используется
Borys
:D
Borys
А если фреймворк навязывает неправильную архитектуру?
Aleksandr
ну что поделать