These are chat archives for LaravelRUS/chat

25th
Aug 2014
:D
Москва, 10 утра.
Alina Soboleva
@AlinaSob
Aug 25 2014 06:10
@Quiss в Питере то же самое
кончилось лето (
DeminAlexey
@DeminAlexey
Aug 25 2014 06:18
значит и у нас будет скоро
наконец мскобил бабосов на макбук но тут читаю http://ru-mac.livejournal.com/ http://ru-mac.livejournal.com/20594531.html и прочие проблемы настораживаю. Хочу именно ретину
13 дюймовую
ибо если не ретина совсем мало будет
Andrey
@Quiss
Aug 25 2014 06:20
Да не слушай их :)) все ок
будет
Nikolay Denisenko
@PEKTOP
Aug 25 2014 06:23
все эти страшилки - единичные случаи. они не только с маками бывают. вы сами знаете страну производитель...
Eugene Holiday
@eugene-holiday
Aug 25 2014 06:23
Дак там чувак водку на экран переводит!
DeminAlexey
@DeminAlexey
Aug 25 2014 06:23
да тот еще ублюдок
Nikolay Denisenko
@PEKTOP
Aug 25 2014 06:25
дурилка картонная - нашатырным спиртом нужно, а не водкой... водка сама сожержит эфирные масла, а он думает что так обезжирит поверхность.
и да поддерживаю - не стоит водку использовать не по назначениею в мирное время.
DeminAlexey
@DeminAlexey
Aug 25 2014 06:26
там в комментах говорят типа ретину только водой можно
berpcor
@berpcor
Aug 25 2014 07:05
Привет. Никто mac mini не продает, случайно? )
slider23
@slider23
Aug 25 2014 07:16
на avito.ru куча народа продает mac mini
@Enapiuz можешь для генерации модулей задействовать https://github.com/slider23/laravel-modulator . Там можно сделать свой шаблон с нужной структурой или заюзать базовый.
@softua очереди переоценены. я всю жизнь для них юзал таблицу в mysql, да и до сих пор юзаю.
народ почему-то думает, что если он поставить очередь, то у него магическим образом в фоне начнут задания выполняться. а то, что для этого надо запускать монитор, который тупо эту очередь постоянно опрашивает на предмет поступления задач, да еще и следить за этим монитором, чтобы не упал (значит повесить над ним супервизора и следить, чтобы супервизор не упал) - это проходит как-то мимо.
slider23
@slider23
Aug 25 2014 07:22
имхо для бытовых задач типа рассылки почты табличка в mysql и задача на кроне раз в минуту с контролем не выполняться более 59 секунд - вполне достаточно.
berpcor
@berpcor
Aug 25 2014 07:33
На авито мало i7-ых и ценники у многих неадекватные. А на ebay'е лоты хорошие про... фукал...
DeminAlexey
@DeminAlexey
Aug 25 2014 07:39
на авито же предоплату просят все и кинуть могут
berpcor
@berpcor
Aug 25 2014 07:42
Да?..
Не знал...
Нечасто пользуюсь.
И к слову - да, кидал много.
По моей наводке аккаунты уже у двух заблокировали.
Американцы на русских сайтах выставляют дешевые mac book'и.
И все бы ничего, но ведут себя неаккуратно.
slider23
@slider23
Aug 25 2014 07:47
я покупал и продавал на авито, все ок было, у меня не просили предоплату, я не просил )
berpcor
@berpcor
Aug 25 2014 07:52
Это, наверное, в своем городе?
Роман Сохарев
@greabock
Aug 25 2014 07:55
Всем приветы и хорошего настроения!
Роман Сохарев
@greabock
Aug 25 2014 08:01

Я тут решил проследить создание сеанса в laravel. Ну, то как приложение загружается, каким образом файлы подключаются и т.д и т.п...
Наткнулся вот на такой момент
vendor/composer/autoload_real.php

class ComposerAutoloaderInitcce994914a0de9dde41714456d5292b6
{ //...}

И мне стало интересно: в чем прикол такого именования? Что за хеш и зачем, и почему, и как, и что за нахрен? =)

slider23
@slider23
Aug 25 2014 08:02
он генерится новый при каждом composer update или dump-autoload
Роман Сохарев
@greabock
Aug 25 2014 08:03
Для чего это?
slider23
@slider23
Aug 25 2014 08:03
зачем - не задумывался
Роман Сохарев
@greabock
Aug 25 2014 08:04
Магия, прям, какая-то...
slider23
@slider23
Aug 25 2014 08:06
хэш заряжен на богатство и долгое хранение овощей
Ruslan Koloskov
@softua
Aug 25 2014 08:08
Всех приветствую.
Роман Сохарев
@greabock
Aug 25 2014 08:08
Добро!
Ruslan Koloskov
@softua
Aug 25 2014 08:08
Совсем вылетело из головы, вчера был праздник в Украине :) Поэтому всех поздравляю с прошедшим.
Роман Сохарев
@greabock
Aug 25 2014 08:09
Спасибо, мы в Кузбассе не отмечали ^_^
Ruslan Koloskov
@softua
Aug 25 2014 08:09
:)
Роман Сохарев
@greabock
Aug 25 2014 08:10
@slider23 а баги от него сами не рассасываются?
Vadim Shashin
@Enapiuz
Aug 25 2014 08:12
Добрый день. Нужно в куске html выделить некоторые слова в <b></b>. Текст кириллицей, всякие str_ireplace не катят. Может есть какая библиотека или еще как можно? Проект в 1251, текст в utf-8 (да, страшно :smile: ).
С сохранением регистра
Ruslan Koloskov
@softua
Aug 25 2014 08:14
Нужно в куске html выделить некоторые слова в <b></b>
выделить и что сделать?
типа класс добавить?
slider23
@slider23
Aug 25 2014 08:15
кусок текста, http://regex101.com/ и вперед экспериментировать
Роман Сохарев
@greabock
Aug 25 2014 08:15
@Enapiuz preg_replace? mb_internal_encoding('UTF-8')?
Vadim Shashin
@Enapiuz
Aug 25 2014 08:15
Ну допустим есть текст купить Слона, надо получить купить <b>Слона</>
mb_internal_encoding надо посмотреть
Роман Сохарев
@greabock
Aug 25 2014 08:19
там в preg_replace() в паттерне нужно указать : '`/<pattern>/`u'
Vadim Shashin
@Enapiuz
Aug 25 2014 08:23
Хм, делаю так
$ret = preg_replace('`/(' . $t . ')/`iu', '<b>$1</b>', $ret);
получаю Compilation failed: invalid UTF-8 string at offset 2 in.... $ret точно utf-8, а $t одно слово
Роман Сохарев
@greabock
Aug 25 2014 08:24
mb_internal_encoding('UTF-8') указан?
Vadim Shashin
@Enapiuz
Aug 25 2014 08:25
да, сразу перед
Роман Сохарев
@greabock
Aug 25 2014 08:25
попробуй без апострофа `
slider23
@slider23
Aug 25 2014 08:26
а почему так - `/
просто /
Vadim Shashin
@Enapiuz
Aug 25 2014 08:27
поправил, но все тоже самое
может каждый аргумент стоит конвертнуть для верности в utf-8
Роман Сохарев
@greabock
Aug 25 2014 08:27
=)))
давай, чтоб на верняка
if(true === false)
{
   die('ничему нельзя верить, все нужно проверять');
}
Vadim Shashin
@Enapiuz
Aug 25 2014 08:31
Жесть, сколько геморроя с такой простой вещью :worried:

Психанул, в коллекцию гавнокода:

mb_internal_encoding('UTF-8');
$ret = preg_replace(
    iconv(mb_detect_encoding('/(' . $t . ')/iu'), 'UTF-8', '/(' . $t . ')/iu'),
    iconv(mb_detect_encoding('<b>$1</b>'), 'UTF-8', '<b>$1</b>'),
    iconv(mb_detect_encoding($ret), 'UTF-8', $ret)
);

все равно никак

Detected an illegal character in input string in...
Роман Сохарев
@greabock
Aug 25 2014 08:35
может, кодировку нужно менять до mb_internal_encoding('UTF-8');?
жиесть какая-то...
Vadim Shashin
@Enapiuz
Aug 25 2014 08:36
ага
Роман Сохарев
@greabock
Aug 25 2014 08:39
пробовал конвертировать до изменения внутренней кодировки?
Andrey
@Quiss
Aug 25 2014 08:45
подскажите я забыл
команду для просмотра куда долбиться комп для обращения к сайту
trancet www.ru
или как-то так)
забыл ппц)
Alexey Volodin
@alexeyvolodin
Aug 25 2014 08:46
tracert ya.ru
Andrey
@Quiss
Aug 25 2014 08:47
спасиб
)
оно)
Alexey Volodin
@alexeyvolodin
Aug 25 2014 08:50
незачто :)
berpcor
@berpcor
Aug 25 2014 09:06
Как в воду глядели. ) Отписал один по поводу объявления, говорит, что не проблема отправить в другой город при условии предоплаты )
Vadim Shashin
@Enapiuz
Aug 25 2014 09:06
@greabock спасибо за помощь, но пока отложу это дело, благо не срочно оно :smile:
Andrey
@Quiss
Aug 25 2014 09:11

кто-нибудь может подсказать, как в Ларе в роутах where указать: new|useds

что-бы принимало либо то либо другое

Brezhnev Ivan
@vanchelo
Aug 25 2014 09:11
так и указать
where('alias', 'new|useds')
Andrey
@Quiss
Aug 25 2014 09:12
как все просто :D
спасибо
Brezhnev Ivan
@vanchelo
Aug 25 2014 09:12
еще так можно попробовать
where('alias', '[new|useds]')
но у меня первый вариант работает
Andrey
@Quiss
Aug 25 2014 09:13
  • первый сработал
спасиб
)
Brezhnev Ivan
@vanchelo
Aug 25 2014 09:13
ага
Andrey
@Quiss
Aug 25 2014 09:18
Route::group(['prefix' => 'cars'], function() {
    Route::get('{alias}','CarsController@getCarWhereAlias')->where('alias','new|used');
    Route::get('{bodyType}','CarsController@getCarWhereBodyType')->where('bodyType','sedan|hatchback');
    Route::get('{mark}/{model}','CarsController@getCarWhereAlias32')->where('mark','.*')->where('model','.*');
    Route::get('{mark}','CarsController@getCarWhereAlias23')->where('mark','.*');
});
хмхмхм)
Brezhnev Ivan
@vanchelo
Aug 25 2014 09:19
жесткач
Andrey
@Quiss
Aug 25 2014 09:19
:D
эт я ещё не закончил )))))
Brezhnev Ivan
@vanchelo
Aug 25 2014 09:20
не работает?
Andrey
@Quiss
Aug 25 2014 09:20
работает)
ща ещё 50 роутов допишу сюда )
Brezhnev Ivan
@vanchelo
Aug 25 2014 09:20
давай давай
потом похвастаешь)
та ваще в легкую)
Brezhnev Ivan
@vanchelo
Aug 25 2014 09:46
скажем есть у меня 100 статей, как из этих 100 статей составить карту слов
и кол-во повторений
вплоть до пробелов и знаков препинания
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:11
какие-то в ларе странные регулярки для маршрутов
пишу Route::pattern('id', '^\d+$');
пропускает entity/1a/edit
Route::pattern('id', '\d+'); тот же результат
так же и с where('id', '^\d+$')
Andrey
@Quiss
Aug 25 2014 10:14
Напиши тэйлору)
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:14
что написать?
может я не правильно понимаю как в ларе этот момент работает
или там вообще нет поддержки регулярок
Andrey
@Quiss
Aug 25 2014 10:14
ну чтоб объяснил )
berpcor
@berpcor
Aug 25 2014 10:15
А вам не все равно? ) Это ж инструмент )
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:15
не понял
почему мне должно быть все равно?
это так?
ыч.jpg
я пока такую призму не приобрел
Ruslan Koloskov
@softua
Aug 25 2014 10:16
Клаcc.
Меня прет это. :)
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:17
смотрим как должна работать регулярка
вот тут всё правильно
Andrey
@Quiss
Aug 25 2014 10:18
1|2|3|4|5|6|7|8|9|10....Infinuty :D
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:18
и?
че за дрянь?
Andrey
@Quiss
Aug 25 2014 10:19
перечисли все варианты :D
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:19
ага, дергать с базы и подставлять)
ID)
Andrey
@Quiss
Aug 25 2014 10:19
Та! именно так!
berpcor
@berpcor
Aug 25 2014 10:20
С таким же успехом можно не ходить и дышать, а думать о составе воздуха и процессах, происходящих внутри и снаружи нас )
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:20
?
berpcor
@berpcor
Aug 25 2014 10:20
Короче, ясно, каждому свое )
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:20
я хожу, дышу, и думаю о составе воздуха и процессах
berpcor
@berpcor
Aug 25 2014 10:21
К слову о демотиваторах... )
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:21
у меня хватает мощностей
это называется быть здесь и сейчас!
berpcor
@berpcor
Aug 25 2014 10:21
Читал где-то. Когда у программиста нет работы, он начинает заниматься планированием. )
Сюда бы добавил и...
Изучение инструментов )
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:21
планированием на планере?
berpcor
@berpcor
Aug 25 2014 10:22
Остроумно. Можно и на планере.
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:22
причем здесь изучение?
я делаю проект
надо задать паттерн
berpcor
@berpcor
Aug 25 2014 10:22
А, ну да, не за то принял...
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:22
он работает не так как предполагалось
berpcor
@berpcor
Aug 25 2014 10:23
Подумал, что речь идет совсем о внутренностях, с которыми разработчик не имеет дела...
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:24
не, это как раз верхний слой
маски в роутах
вот они и не работают как я ожидал
ого
1    /^\d+$/
2    /^\d+$/
3    /^\d+$/
4    /^\d+$/
5    /^\d+$/
#    Match found in 5 steps.
чтобы распознать 12, 5 итераций надо
DeminAlexey
@DeminAlexey
Aug 25 2014 10:30
эмм
if(!empty($foto1)) {
            Input::upload('foto1', $directory, $photo);
        } elseif(!empty($foto2)) {
            Input::upload('foto2', $directory, $photo2);
        } elseif(!empty($foto3)) {
            Input::upload('foto3', $directory, $photo3);
        } elseif(!empty($foto4)) {
            Input::upload('foto4', $directory, $photo4);
        } else {
            $photo = "zag.jpg";
            $photo2 = "zag.jpg";
            $photo3 = "zag.jpg";
            $photo4 = "zag.jpg";
        }
почему-то срабатывает только else
то есть ставятся заглушки не смотря на то, что я выбираю первое фото
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:31
а что в foto1?
DeminAlexey
@DeminAlexey
Aug 25 2014 10:32
это $photo = $input['foto1']['name'];
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:32
а как ты фото получешь?
DeminAlexey
@DeminAlexey
Aug 25 2014 10:32
через input file конечно жеж
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:32
Input::file?
ЫЫЫЫ
DeminAlexey
@DeminAlexey
Aug 25 2014 10:32
а нет
$input = Input::all();
так вот
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:32
сделать dd(Input::all())
и посмотри что вообще у тебя там
DeminAlexey
@DeminAlexey
Aug 25 2014 10:34
дело в том, что есть 4 поля для изображений, но какое-то из них можно оставить пустым, Но если все пыстые ставим заглушку
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:34
распечатай как я выше написал
и показывай весь код метода
а не куски
berpcor
@berpcor
Aug 25 2014 10:36

У меня есть таблица "goods". Каждый товар может иметь общие атрибуты (артикул, цена, наименование, ... , - общие для всех товаров, не зависимо от его категории и типа) и индивидуальные атрибуты (такие, как вес, цвет, объем памяти и пр.) Все общие атрибуты находятся в таблице "goods". Индивидуальные атрибуты находятся в отдельной таблице "individual_attributes". Еще у меня есть таблица "attributes_group". В ней я формирую своеобразные паттерны из атрибутов (процессор, ковер, телефон, ручка и пр.). Потом я назначаю товару одну из групп. Таким образом, у меня есть что-то вроде конструктора для добавления любого типа товара в интернет-магазин.

goods -> (many-to-one) -> attributes_group -> (many-to-many) -> individual_attributes (1)

Вроде все ничего, но мне еще нужно куда-то добавлять значения атрибутов для каждого товара. Думал сделать так: создаю отдельную таблицу "individual_attributes_values" со связью многие-к-одному по отношению к таблице "goods".

goods -> (many-to-one) -> individual_attributes_values (2)

В ней я бы мог хранить значения индивидуальных атрибутов для всех товаров. А инфомацию бы забирал так: делаю один запрос для сборки атрибутов ("каркаса") для данного товара к связке таблиц (1). Потом циклом для каждого атрибута забираю его значение из связки (2). Но в таком случае получается два запроса Laravel. А хотелось бы собрать все в один ORM-объект одним запросом. Есть мысли о том, как лучше БД организовать?

Shappy
@Formcd
Aug 25 2014 10:52
@berpcor Как я понимаю, реализуется EAV паттерн... Я делал так:
таблица products (тут общие аттрибуты, цена и т.д. сам продукт в общем...),
таблица attributes(здесь все аттрибуты, которые присутствуют у товаров),
таблица attribute_options(все значения у аттрибутов) и
таблица EAV связывающая предыдущие три...
Вообще либо EAV, либо, если ассортимент меняться не будет часто, то лучше flat tables выбрать, когда каждому типу продуктов создаешь свою таблицу...
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:53
а поиск будет по атрибутам?
я бы сделал так, у категории задал бы дефолтные параметры
в виде JSON массива
Shappy
@Formcd
Aug 25 2014 10:54
@vanchelo у EAVа всегда с этим проблемы были... Много запросов будет, если сортировать по аттрибутам, но я делал...
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:54
при создании товара копировал бы
так же атрибуту товаров хранил бы в JSON
а поиск через индексеры
ElasticSearch
Shappy
@Formcd
Aug 25 2014 10:54
А... Ну да... Если не нужен поиск, то да...
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:54
поиск будет
Shappy
@Formcd
Aug 25 2014 10:54
Этот вариант не хуже?:)
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:55
нафик 100 таблиц
попробуй потом составить запрос
фасетный поиск вообще хрен сделаешь
а так индексер всё за тебя сделает
ну и конечно название параметров товара в отдельной таблице
чтобы если есть ошибка в описании было легко исправить
Shappy
@Formcd
Aug 25 2014 10:56
Я flat tables не делал:) на EAV организовывал... Если в json пихать все аттрибуты то при выборке по аттрибутам умрешь делать поиск...
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:56
я же написал, выборка через ElasticSearch
и никто не умрет!
Shappy
@Formcd
Aug 25 2014 10:57
Умрешь:)
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:57
?
ты работал с эластиком?
Shappy
@Formcd
Aug 25 2014 10:57
Долго это... Ну мне кажется это явно будет не быстрее чем стандартный еав делать... Нет, с ним не работал, но знаю что это...
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:57
поверь, быстрее
Shappy
@Formcd
Aug 25 2014 10:58
Спасибо, надо будет посмотреть...
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:58
в эластик пихаешь весь товар
с атрибутами
при поиске формируешь запрос простой, он тебе ID возвращает, или полноценный товар
зависит как настроишь его
Shappy
@Formcd
Aug 25 2014 10:58
У меня скепсис какой-то:)
Надо посмотреть...
Brezhnev Ivan
@vanchelo
Aug 25 2014 10:59
он может хранить как только ID записи так и все данные товара
Ruslan Koloskov
@softua
Aug 25 2014 11:01
Вопрос.
Как внедрить зависимость не через конструктор?
точнее...через конструктор, но без передачи параметров в него
Brezhnev Ivan
@vanchelo
Aug 25 2014 11:02
?
$this->service = App::make('service')
Ruslan Koloskov
@softua
Aug 25 2014 11:03
Во, спасибо.
Brezhnev Ivan
@vanchelo
Aug 25 2014 11:03
а ты где?
Ruslan Koloskov
@softua
Aug 25 2014 11:03
в каком смысле?
Brezhnev Ivan
@vanchelo
Aug 25 2014 11:03
если ты в сервис провайдере то $this->app->make()
или $this->app['service']
Ruslan Koloskov
@softua
Aug 25 2014 11:04
не, именно через статику.
Brezhnev Ivan
@vanchelo
Aug 25 2014 11:04
можно еще так
$this->service = app('service');
Ruslan Koloskov
@softua
Aug 25 2014 11:04
App::make самое она, спасибо.
Brezhnev Ivan
@vanchelo
Aug 25 2014 11:04
так же в App::make можно полное имя класса ввести
Ruslan Koloskov
@softua
Aug 25 2014 11:05
ага, понял.
Brezhnev Ivan
@vanchelo
Aug 25 2014 11:05
он создаст его инстанс или из IoC достанет
зависит как ты его забиндил
если синглоном то сам понимаешь что будет)
Ruslan Koloskov
@softua
Aug 25 2014 11:05
да.
спс
Andrey
@Quiss
Aug 25 2014 11:06
тут есть гуру по битриксу?((
Brezhnev Ivan
@vanchelo
Aug 25 2014 11:06
неа
Andrey
@Quiss
Aug 25 2014 11:06
=(
пичаль
Brezhnev Ivan
@vanchelo
Aug 25 2014 11:06
у меня как раз была задача по битриксу, я колупался так и не сделал(
недавно)
так как-то все не по людски
страшные массивы
не дружелюбный короче он
Andrey
@Quiss
Aug 25 2014 11:07

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

<?$APPLICATION->IncludeComponent(
    "coderoid:adaptivecarousel",
    "banner",
    Array(
        "IBLOCK_TYPE" => "banners",
        "IBLOCK_ID" => "11",
        "SELECT_FROM" => "PREVIEW_PICTURE",
        "TYPE_SLIDE" => "A",
        "NUM_ITEMS" => "1",
        "ITEMSDESKTOP_WIDTH" => "360",
        "ITEMSDESKTOP_NUM" => "1",
        "ITEMSDESKTOPSMALL_WIDTH" => "360",
        "ITEMSDESKTOPSMALL_NUM" => "1",
        "NAVIGATION" => "N",
        "PAGINATION" => "N",
        "AUTO_PLAY" => "Y",
        "TIME_SLIDE" => "10000",
        "MARGIN_CSS" => "10",
        "COMPOSITE" => "N"
    )
);?>

инклюдит

<script>.................</script>

ток вот не понятн, где поменять то что он инклюдит

Brezhnev Ivan
@vanchelo
Aug 25 2014 11:07
гы, у меня такой же блок был)
Andrey
@Quiss
Aug 25 2014 11:07
)))))
Brezhnev Ivan
@vanchelo
Aug 25 2014 11:07
это ужас)
Ruslan Koloskov
@softua
Aug 25 2014 11:07
@vanchelo :) а в каком движке по-людски?
Brezhnev Ivan
@vanchelo
Aug 25 2014 11:07
в MODX к примеру
Andrey
@Quiss
Aug 25 2014 11:07
DLE по людски :DDDDDD
шутка
Brezhnev Ivan
@vanchelo
Aug 25 2014 11:08
в ларе
Ruslan Koloskov
@softua
Aug 25 2014 11:08
при чем тут лара.
Andrey
@Quiss
Aug 25 2014 11:08
где лара?
Brezhnev Ivan
@vanchelo
Aug 25 2014 11:08
)
Ruslan Koloskov
@softua
Aug 25 2014 11:08
WP :)
Andrey
@Quiss
Aug 25 2014 11:08
...)
Brezhnev Ivan
@vanchelo
Aug 25 2014 11:08
@Quiss вообще в Bitrix есть интерфейс для блоков
Andrey
@Quiss
Aug 25 2014 11:08
причем тут лара. WP
:D
Ruslan Koloskov
@softua
Aug 25 2014 11:09
:)
Brezhnev Ivan
@vanchelo
Aug 25 2014 11:09
окошко где галки ставишь
Andrey
@Quiss
Aug 25 2014 11:09
нипонятно все равно
Brezhnev Ivan
@vanchelo
Aug 25 2014 11:09
то уже на выходе он такое генерит
DeminAlexey
@DeminAlexey
Aug 25 2014 11:10
перенес гребанный сайт на рег ру хостинг, ошибка 500
Ruslan Koloskov
@softua
Aug 25 2014 11:11
подскажите, есть ли в блейде фильтры?
Brezhnev Ivan
@vanchelo
Aug 25 2014 11:12
неа
Ruslan Koloskov
@softua
Aug 25 2014 11:12
жаль.
ну терпимо впринципе.
Andrey
@Quiss
Aug 25 2014 11:13
Урок первый, как подключить слайдер в битриксе, внимание
Brezhnev Ivan
@vanchelo
Aug 25 2014 11:13
можно писать свои обработчики
Andrey
@Quiss
Aug 25 2014 11:13
  <? if(!empty($arParams["TYPE_SLIDE"])): ?>
        <? if($arParams["TYPE_SLIDE"] == 'A'): ?>    
            <script>
            $(document).ready(function() {
            $("#owl-demo1").owlCarousel({
                <? if($arParams["AUTO_PLAY"] == 'Y'): ?>
                    <? if($arParams["TIME_SLIDE"] > 0): ?>autoPlay : <?=$arParams["TIME_SLIDE"]?>,<? else: ?>autoPlay : false, <? endif; ?> 
                <? endif; ?>
            <? if(!empty($arParams["NAVIGATION"])): ?>
                <? if($arParams["NAVIGATION"] == 'Y'): ?>navigation : true,
  <? if((!empty($arParams["NAVIGATIONTEXT_BACK"]))&&(!empty($arParams["NAVIGATIONTEXT_NEXT"]))): ?> navigationText : ["<?=$arParams["NAVIGATIONTEXT_BACK"]?>","<?=$arParams["NAVIGATIONTEXT_NEXT"]?>"],<? else: ?>navigationText : ["BACK","NEXT"], <? endif; ?> 
                <? else: ?>navigation : false, <? endif; ?> 
            <? endif; ?>
            <? if(!empty($arParams["PAGINATION"])): ?>
                <? if($arParams["PAGINATION"] == 'Y'): ?>pagination : true,
            <? if(!empty($arParams["PAGINATIONNUMBERS"])): ?>
                <? if($arParams["PAGINATIONNUMBERS"] == 'Y'): ?>paginationNumbers : true,<? else: ?>paginationNumbers : false, <? endif; ?> 
            <? endif; ?>
                <? else: ?>pagination : false, <? endif; ?> 
            <? endif; ?>

  <? if((!empty($arParams["ITEMSDESKTOP_WIDTH"]))&&(!empty($arParams["ITEMSDESKTOP_NUM"]))): ?> itemsDesktop : [<?=$arParams["ITEMSDESKTOP_WIDTH"]?>,<?=$arParams["ITEMSDESKTOP_NUM"]?>],<? else: ?>itemsDesktop : [1199,3], <? endif; ?> 
  <? if((empty($arParams["ITEMSDESKTOP_WIDTH"]))&&(empty($arParams["ITEMSDESKTOP_NUM"]))): ?> itemsDesktop : false, <? endif; ?> 

  <? if((!empty($arParams["ITEMSDESKTOPSMALL_WIDTH"]))&&(!empty($arParams["ITEMSDESKTOPSMALL_NUM"]))): ?> itemsDesktopSmall : [<?=$arParams["ITEMSDESKTOPSMALL_WIDTH"]?>,<?=$arParams["ITEMSDESKTOPSMALL_NUM"]?>],<? else: ?>itemsDesktopSmall : [979,3], <? endif; ?> 
  <? if((empty($arParams["ITEMSDESKTOPSMALL_WIDTH"]))&&(empty($arParams["ITEMSDESKTOPSMALL_NUM"]))): ?> itemsDesktopSmall : false, <? endif; ?> 

  <? if($arParams["NUM_ITEMS"] > 0): ?>items : <?=$arParams["NUM_ITEMS"]?><? else: ?>items : 3 <? endif; ?>                           
                });
            });
            </script>
        <? endif; ?>
Brezhnev Ivan
@vanchelo
Aug 25 2014 11:13
ипать
Andrey
@Quiss
Aug 25 2014 11:13
И ЭТО ВСЕ ДЛЯ ГРЕБАННОГО СЛАЙДЕРА НА 10 СТРОК
Shappy
@Formcd
Aug 25 2014 11:15
ппц...
DeminAlexey
@DeminAlexey
Aug 25 2014 11:16
парни а почему при обращению к роутам No input file specified. на хостинге
лара 3
Andrey
@Quiss
Aug 25 2014 11:17
потому-что htaccess
:D
DeminAlexey
@DeminAlexey
Aug 25 2014 11:18
htaccess Внутри паблик папки
RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]
а эта из корня
не знаю что здесь не так
все
сделано
ура
я закончил его
УРА УРА УРА
Ruslan Koloskov
@softua
Aug 25 2014 11:20
@DeminAlexey так что было не так?
DeminAlexey
@DeminAlexey
Aug 25 2014 11:20
Options +FollowSymLinks
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . index.php [L]
правильный штацес
Ruslan Koloskov
@softua
Aug 25 2014 11:20
ага.
berpcor
@berpcor
Aug 25 2014 12:11
Т.е. EAV + elastic search?..
Роман Сохарев
@greabock
Aug 25 2014 12:40
@Quiss , есть инфа, что надо содать канал в чатике bitrixRUS Ахахахха =)
Andrey
@Quiss
Aug 25 2014 12:49
@greabock хм, а от кого инфа? ^_^
Кста, я тут заметил, если дату перевести на день вперед, то Gitter не дает изменить сообщение :D
slider23
@slider23
Aug 25 2014 12:50
ну тут часто битрикс упоминается просто
Andrey
@Quiss
Aug 25 2014 12:50
интересно, а отредактировать более стрые можно если перевести дату )
Shappy
@Formcd
Aug 25 2014 13:03
@berpcor Если elastic использовать, как vanchelo предложил, тогда уже не EAV будет... Тебе надо будет таблицу с продуктами, в ней поле json в котором будут храниться аттрибуты и значения для конкретного продукта... Ну и таблицу аттрибутов...
Alexander Zhuravlev
@SCIF
Aug 25 2014 13:04
@Formcd , да и аттрибуты смысла нет складывать в отдельную таблицу
Shappy
@Formcd
Aug 25 2014 13:08
@SCIF Если не делать поиск по аттрибутам то не надо...
Кто-нибудь с очередями работал?
Ruslan Koloskov
@softua
Aug 25 2014 13:20
@Formcd да, Иван сейчас расскажет. :smile:
Вот зачем нужна история в чате. Просто вчера Иван мне объяснял это.
Alexander Zhuravlev
@SCIF
Aug 25 2014 13:22
Вообще интересно вопрос услышать. Я собирал кластер очередей.
Общий смысл очереди, вроде простой. Добавил колбэк, его обработает воркер, когда до него очередь дойдёт
Shappy
@Formcd
Aug 25 2014 13:25
ща я сначала логи почитаю, потом если что SCIF напишу в личку:)
Ruslan Koloskov
@softua
Aug 25 2014 13:27
не Вы меня неправильно поняли. Я не отправлял Вас читать историю - не имею морального права, так как сам тут вопросы задаю. Просто недавно тут обсуждался вопрос вопрос истории чата, что не сохраняется все. Я об этом.
slider23
@slider23
Aug 25 2014 13:33
Она не сохраняется свыше двух недель
Danil
@Jonik19
Aug 25 2014 13:33

Помогите пожалуйста. У меня есть wysiwyg редактор, и есть такой текст.

<h2>                                    укеукпваы&nbsp;пывапа ав вп</h2>
<p>                                    укеукпваы&nbsp;пывапа ав вп</p>

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

slider23
@slider23
Aug 25 2014 13:33
А за вчера все доступно
разве не сохраняется? о_О
Ruslan Koloskov
@softua
Aug 25 2014 13:36
прикольно, не знал.
то есть есть история 2-х недельная есть?
Andrey
@Quiss
Aug 25 2014 13:37
та
с первого дня
запуска чата
Ruslan Koloskov
@softua
Aug 25 2014 13:38
а что же я напутал...пошел теперь сам лог смотреть. :)
berpcor
@berpcor
Aug 25 2014 13:57
@Formcd, json в поле таблицы - не есть хорошо с точки зрения нормализации. Не говорю, что нормализация - панацея. Просто замечание.
Shappy
@Formcd
Aug 25 2014 13:59
@berpcor С elastic search будет нормальным вариантом... И все можно будет нормально организовать... Если придерживаться "правильности", то EAV - модель тоже не правильная...
Alexander Zhuravlev
@SCIF
Aug 25 2014 14:00
@berpcor , нормализация рулит пока у тебя 100, 200, 1000 товаров и ровно до тех пор, пока не нужно выгребать фасеты по аттрибутам
berpcor
@berpcor
Aug 25 2014 14:01
Тогда что получается? Одна таблица goods. И в ней одно единственное поле для индивидуальных атрибутов, а в нем в json и атрибуты и их значения?
Alexander Zhuravlev
@SCIF
Aug 25 2014 14:01
У нас так 17млн записей хранится ;)
berpcor
@berpcor
Aug 25 2014 14:02
И с поиском тоже никаких проблем? Elasticsearch?
Alexander Zhuravlev
@SCIF
Aug 25 2014 14:02
Ессно поле не одно, т.к. есть куча обязательный либо формализованных параметров, вроде цены, владельца и т.п. Для неформализованных — json.
Solr. Да ещё и symfony2.4
berpcor
@berpcor
Aug 25 2014 14:03
Формализованных в твоем случае = общие атрибуты в моем?
Неформализованные = индивидуальные
Alexander Zhuravlev
@SCIF
Aug 25 2014 14:03
Наверно. Прости, не читал лог :(
berpcor
@berpcor
Aug 25 2014 14:04
Тогда другой момент.
Захожу на страницу добавления товаров. Откуда я буду забирать атрибуты, чтобы предложить их заполнить?
Alexander Zhuravlev
@SCIF
Aug 25 2014 14:04
json
berpcor
@berpcor
Aug 25 2014 14:05
Насколько я понял, для каждого конкретного товара в json находится захардкоденный набор атрибутов и их значений. Это нужно выдергивать по категории любой товар из той же категории и выгребать из его json'а набор наименований атрибутов?
Alexander Zhuravlev
@SCIF
Aug 25 2014 14:07
В json у нас хранится просто «Высота: 2м, длина: 30см, вес: 5т». Они выгребаются при редактировании
Shappy
@Formcd
Aug 25 2014 14:08
@berpcor Можно для каждой категории определить аттрибуты... И их уже заполнять при создании товара...
Alexander Zhuravlev
@SCIF
Aug 25 2014 14:09
Для категории заданы типичные атррибуты и всегда есть возможность написать любые свои
berpcor
@berpcor
Aug 25 2014 14:09
А, ясно. Получается то, что я и предложил, только значения этих атрибутов лежат в таблице goods в json'е.
Shappy
@Formcd
Aug 25 2014 14:09
@SCIF Можно и так...
Alexander Zhuravlev
@SCIF
Aug 25 2014 14:10
То есть заходишь в «недвижимость»: «Этаж», «Тип жилья», «Площадь» и по желанию уже key-value можно заполнить остальные. СОотв. в машинах: «Объём движка», «Год» и опять-таки любые свои
berpcor
@berpcor
Aug 25 2014 14:10
Т.е. при выводе товара наименования атрибутов забирать из справочника атрибутов, а значения из таблицы goods?
Shappy
@Formcd
Aug 25 2014 14:10
@SCIF в откуда «Этаж», «Тип жилья», «Площадь» берете? в этом вопрос был... :)
Alexander Zhuravlev
@SCIF
Aug 25 2014 14:11
Нет никакого справочника аттрибутов, значений и т.п. Только категории и сами товары. Две таблицы.
Shappy
@Formcd
Aug 25 2014 14:11
@berpcor Можно сделать по-разному... Сколько людей, столько способов...
Alexander Zhuravlev
@SCIF
Aug 25 2014 14:11

@Formcd ,

Для категории заданы типичные атррибуты

berpcor
@berpcor
Aug 25 2014 14:11
@SCIF, приведу еще раз первое мое сообщение...

У меня есть таблица "goods". Каждый товар может иметь общие атрибуты (артикул, цена, наименование, ... , - общие для всех товаров, не зависимо от его категории и типа) и индивидуальные атрибуты (такие, как вес, цвет, объем памяти и пр.) Все общие атрибуты находятся в таблице "goods". Индивидуальные атрибуты находятся в отдельной таблице "individual_attributes". Еще у меня есть таблица "attributes_group". В ней я формирую своеобразные паттерны из атрибутов (процессор, ковер, телефон, ручка и пр.). Потом я назначаю товару одну из групп. Таким образом, у меня есть что-то вроде конструктора для добавления любого типа товара в интернет-магазин.

goods -> (many-to-one) -> attributes_group -> (many-to-many) -> individual_attributes (1)

Вроде все ничего, но мне еще нужно куда-то добавлять значения атрибутов для каждого товара. Думал сделать так: создаю отдельную таблицу "individual_attributes_values" со связью многие-к-одному по отношению к таблице "goods".

goods -> (many-to-one) -> individual_attributes_values (2)

В ней я бы мог хранить значения индивидуальных атрибутов для всех товаров. А инфомацию бы забирал так: делаю один запрос для сборки атрибутов ("каркаса") для данного товара к связке таблиц (1). Потом циклом для каждого атрибута забираю его значение из связки (2). Но в таком случае получается два запроса Laravel. А хотелось бы собрать все в один ORM-объект одним запросом. Есть мысли о том, как лучше БД организовать?

Shappy
@Formcd
Aug 25 2014 14:11
@SCIF угу, понял...
Alexander Zhuravlev
@SCIF
Aug 25 2014 14:12
@berpcor , если ты будешь морочиться с индексёрами — это одно. Если нет — то еав.
berpcor
@berpcor
Aug 25 2014 14:13
Под индексерами понимается в т.ч. и elasticsearch и sphinx?
Alexander Zhuravlev
@SCIF
Aug 25 2014 14:13
Угу, они самые.
Shappy
@Formcd
Aug 25 2014 14:13
@berpcor Таблица goods - в ней общие аттрибуты, связь с категорией и одна колонка для индивидуальных аттрибутов json формата. В таблице категории - название категории и колонка json формата с названиями аттрибутов.
berpcor
@berpcor
Aug 25 2014 14:14
Ага, ясно.
Alexander Zhuravlev
@SCIF
Aug 25 2014 14:14
@Formcd , в точку. В категориях тоже именно в json описаны сами поля :)
berpcor
@berpcor
Aug 25 2014 14:14
В таком случае опять возвращаюсь к тому же вопросу.
При выводе конкретного товара наименования атрибутов забираю из таблицы категорий, а сами значения из goods?
Просто...
Alexander Zhuravlev
@SCIF
Aug 25 2014 14:15
В каком варианте? С индексёрами?
berpcor
@berpcor
Aug 25 2014 14:16
Если для категории добавятся доп. атрибуты и если выводить наименования атрибутов из goods, то новые атрибуты не отобразятся в описании товара (другое дело, что если они отобразятся, то будут пустыми)
Да, индексеры учитываем.
Без поиска - никак.
Alexander Zhuravlev
@SCIF
Aug 25 2014 14:16
Ессно при выводе товара нужны аттрибуты из категории и собственные
berpcor
@berpcor
Aug 25 2014 14:18
А как эластику скармливать все это добро?
С ним дела еще не имел.
Фасетный поиск тоже будет без проблем работать?
Alexander Zhuravlev
@SCIF
Aug 25 2014 14:19
Обновления товаров складываются в очередь. Очередь постоянно (хотя бы каждую минуту) шерстится заданием, которое это дело заливает в индексёр
Дык ради него и вся суета :)
berpcor
@berpcor
Aug 25 2014 14:19
Т.е. такая структура - это что-то родное для эластика?
Я имею в виду json в одном поле.
Alexander Zhuravlev
@SCIF
Aug 25 2014 14:21
Ему вообще пофигу в чём у тебя хранится. У тебя задание, которое в него будет вливать данные — само должно составить документ или какую-то иную его структуру.
В случае солра и солариума — это просто объект Solarium\Document, который наполняешь данными
berpcor
@berpcor
Aug 25 2014 14:25
Индексер долго индексирует таблицу?
Полностью?
Alexander Zhuravlev
@SCIF
Aug 25 2014 14:26
Разные с разной скоростью. Ну и размер таблицы и кол-во данных тоже имеет значение. И железо :)
Для сфинкса было заявлено около 15мб/сек.
Но это было давно, подозреваю, что сейчас уже быстрей на новом железе. Да и 15мб/сек — это очень хорошая скорость, по-моему. Полное индексирование ведь не часто будет делаться.
berpcor
@berpcor
Aug 25 2014 14:27
Я добавил товары. Какое индексирование будет происходить?
Будет индексироваться только то, что поставлено в очередь и это добавится к существующему индексу?
Alexander Zhuravlev
@SCIF
Aug 25 2014 14:28
Добавление документа будет происходить.
Полное индексирование — добавление документов каждой записи таблицы.
berpcor
@berpcor
Aug 25 2014 14:29
Не совсем понял что такое добавление документа.
Alexander Zhuravlev
@SCIF
Aug 25 2014 14:29
«Запись» в понятиях индексёров — это документ, т.к. там своя специфика и решили разнести понятия.
Будет происходить то, что ты скажешь. Ессно типичный сценарий — это просто добавление одного документа. А в случае редактирования — обновление документа.
berpcor
@berpcor
Aug 25 2014 14:31
Т.е. редактирую инф-ю о товарах - обновление документа => неполное индексирование. Добавляю новый товар - добавление документа => полное индексирование
Alexander Zhuravlev
@SCIF
Aug 25 2014 14:32
У всех индексёров «online» удаление документов работает хреново, то есть фактически, все они помечают документы как удалённые, а потом, при полном переиндексировании, соотв. удаляются перед индексированием. В последних версиях люсен и сфинкса вроде как уже заявлено наличие возможности «online» удаления, но вроде везде как тестовое/экспериментальное
Нет, стой. Что такое полное индексирование? Это просто заливка всех твоих записей в чистую базу. Соотв. ты грохаешь все документы и по-новой поштучно их вносишь. Это и будет полное индексирование
berpcor
@berpcor
Aug 25 2014 14:38
Теперь опять по поводу структуры бд... Предлагаемую схему понял. А что... если изменится наименование одного из атрибутов (например, вес изменится на вес нетто)?
А для каждого товара в значениях название атрибута захардкодено.
Не очень гибкая схема...
Т.е. в таблице категорий название меняется, а у товаров остается прежним.
Alexander Zhuravlev
@SCIF
Aug 25 2014 14:39
@berpcor, можешь делать свой велосипед, но так можно дойти до запредельных вариантов :)
berpcor
@berpcor
Aug 25 2014 14:40
Вообще, да. Но сильно запредельных вещей не нужно. )
Просто хочется в любой момент иметь возможность отредактировать атрибуты или название группы атрибутов или поменять количество атрибутов в группе.
И чтобы эти изменения были централизованными.
Хотел сделать именно гибкую схему, когда не знаешь какие товары будешь продавать в магазине.
Что-то вроде универсальной платформы.
Alexander Zhuravlev
@SCIF
Aug 25 2014 14:42
Кол-во аттрибутов в категории — это сугубо отделённая вещь от товаров. Названия, да, жёстко прибиты гвоздями. Раньше были «более гибкие» варианты. От них ушли, т.к. они оказались шибко головняковыми
Товары зависят не от магазина, а от категории. Они про магазин вообще ничего не знаю ;)
berpcor
@berpcor
Aug 25 2014 14:43
Про головняк - да, точно подмечено.
Так а как быть при такой схеме организации с названиями атрибутов? Захотели вы изменить у себя название атрибута и...
А такое может быть.
Орфографическая ошибка - элементарно.
Alexander Zhuravlev
@SCIF
Aug 25 2014 14:44
Тут недавно хаяли foreign key'и. Я не так давно перетаскивал базу товаров с одной из таких «гибких» схем в текущий вариант. Так было неприятно словить облом миграции, т.к. ид у товара стоит, а в таблице значений не было такой записи.
Не вижу проблемы — пишешь команду, которая попарсить json и обновит данные.
berpcor
@berpcor
Aug 25 2014 14:45
Да, сталкивался с подобным.
В принципе вариант... как это там?.. KISS? )
Alexander Zhuravlev
@SCIF
Aug 25 2014 14:48
Это более, чем адекватный вариант в таких условиях
Brezhnev Ivan
@vanchelo
Aug 25 2014 17:02
о чем и речь
вариант с атрибутами в категории и индексерами мне @SCIF подкинул когда я спрашивал давно, мне он сильно щас понравился
т.к. мы избавляемся от головняка лепить горбатые запросы для фасетов
berpcor
@berpcor
Aug 25 2014 17:09
Надо подумать над этим. На доске себе разрисую схемы разные, прикину что к чему, может тоже остановлюсь на этом )
Пока не совсем понимаю как работает elastic, правда...
Brezhnev Ivan
@vanchelo
Aug 25 2014 17:10
не, если ты любитель мазохизма, то однозначно с таблицами заморачивайся =))
потому как я не вижу ни одной весомой причины юзать твой вариант с 10-ю таблицами
berpcor
@berpcor
Aug 25 2014 17:10
Тут нюанс вот в чем. Я хотел принципиально гибкую схему, а тут схема, строго говоря, простая. Многое хардкодится.
Brezhnev Ivan
@vanchelo
Aug 25 2014 17:11
как раз гибкая
я бы хранил дефолные параметры и названия в отдельной таблице
или в категории
berpcor
@berpcor
Aug 25 2014 17:11
Я бы наверное немного уточнил утверждение - гибкая настолько, чтобы ее было легко поддерживать )
Все, что свыше по гибкости - геморрой.
Brezhnev Ivan
@vanchelo
Aug 25 2014 17:11
а в товаре только ID параметра и значение
This message was deleted
This message was deleted
Shappy
@Formcd
Aug 25 2014 17:14
@berpcor Как уже vanchelo написал, чистый EAV гибче, но за это поплатишься большими запросами и скоростью...
Хотя даж не знаю чем гибче...
berpcor
@berpcor
Aug 25 2014 17:15
)
Brezhnev Ivan
@vanchelo
Aug 25 2014 17:15
а ты сам знаешь
Shappy
@Formcd
Aug 25 2014 17:15
@berpcor напомни плз что тебя смущает в этом подходе?
berpcor
@berpcor
Aug 25 2014 17:15
Справедливости ради, надо отметить, что на irc Laravel мне тоже подсказали вариант с json-данными в одном поле. Значит распространенный вариант...
Если, например, изменить название атрибута, то для каждого товара его нужно также менять доп. логикой.
Brezhnev Ivan
@vanchelo
Aug 25 2014 17:16
нет
Shappy
@Formcd
Aug 25 2014 17:17
Ну а если вынести аттрибуты в отдельную таблицу?
и хранить attr_id => value
berpcor
@berpcor
Aug 25 2014 17:17
Так они ведь и так в отдельной таблице - категории.
Brezhnev Ivan
@vanchelo
Aug 25 2014 17:17
{
    1: { name: 'Размер'},
    2: { name: 'Диагональ' }
}
это в категории
в товаре
[
{ id: 1, value: '10' },
{ id: 2, value: '14' }
]
изменил название в категории изменилось у товара
Shappy
@Formcd
Aug 25 2014 17:18
угу
Brezhnev Ivan
@vanchelo
Aug 25 2014 17:19
можно не ID а param_id
главное чтобы логическая связь была
berpcor
@berpcor
Aug 25 2014 17:19
И внешние ключи можно присобачить, чтобы целостность была...
Brezhnev Ivan
@vanchelo
Aug 25 2014 17:20
{
    1: { name: 'Размер', unit: 'мм'},
    2: { name: 'Диагональ', unit: 'дюйм' }
}
Andrey
@Quiss
Aug 25 2014 17:20
Урааа до меня дошло зайчем Тэйлор структуру лары меняет))))
Brezhnev Ivan
@vanchelo
Aug 25 2014 17:20
расскажи всем
Shappy
@Formcd
Aug 25 2014 17:20
Структура меняется? 0_0
berpcor
@berpcor
Aug 25 2014 17:20
А как в эту же схему запихать возможные варианты значений атрибута?
Brezhnev Ivan
@vanchelo
Aug 25 2014 17:20
можно и так
berpcor
@berpcor
Aug 25 2014 17:21
И следить за ссылочной целостностью средствами РСУБД?
Andrey
@Quiss
Aug 25 2014 17:21
Кароч есть такие люди как я которые не понимают по коду и стандартной доке. Для таких выпускают книги
Brezhnev Ivan
@vanchelo
Aug 25 2014 17:21
а в чем тут не целостность?
Shappy
@Formcd
Aug 25 2014 17:21
@berpcor можно и это запихать... Все зависит от того как ты реализуешь это...
Andrey
@Quiss
Aug 25 2014 17:21
Структуру поменяли. Книги переписали. Тэйлор заработал)))
Orel
@2byte
Aug 25 2014 17:22
Что там поменяли ?
Shappy
@Formcd
Aug 25 2014 17:22
хы=)
berpcor
@berpcor
Aug 25 2014 17:22
Тогда вопрос - в каком случае это будет проще: json или EAV?
Brezhnev Ivan
@vanchelo
Aug 25 2014 17:22
{
    1: { name: 'Размер', unit: 'мм', options: [10, 20, 30] },
    2: { name: 'Диагональ', unit: 'дюйм', options: [13.3, 14, 15.4, 17] }
}
проще в том случае что достается легко
Andrey
@Quiss
Aug 25 2014 17:22
А вы о чем тут?
Brezhnev Ivan
@vanchelo
Aug 25 2014 17:22
+. индексерам скармливается весь JSON параметров товара
berpcor
@berpcor
Aug 25 2014 17:23
Я тут немного заморочился и всех заморочил )
Brezhnev Ivan
@vanchelo
Aug 25 2014 17:23
ты в товаре не хранишь конечных значений
только ID, или если значения для ручного ввода
т.е. без options
Andrey
@Quiss
Aug 25 2014 17:24
Ну у меня на автор портале тоже ток иды скармливаются)
berpcor
@berpcor
Aug 25 2014 17:24
Без options не получится. Это ж поле. Тогда с пустым options?
Andrey
@Quiss
Aug 25 2014 17:24
Это норма)
Brezhnev Ivan
@vanchelo
Aug 25 2014 17:24
ты в категорию добавил новый параметр и на странице товара отображается сразу
Новый параметр: --
или Новый параметр: нет данных
Andrey
@Quiss
Aug 25 2014 17:25
Кста гиттер под телефоном круто работает)
Даже с моим 3G
Brezhnev Ivan
@vanchelo
Aug 25 2014 17:26
красавчеГ
Shappy
@Formcd
Aug 25 2014 17:26
@berpcor то что ты хочешь, это вариант чистого EAV, можно его реализовать и с помощью elastic'a, jsona т.е., можно и "по старинке"...
Andrey
@Quiss
Aug 25 2014 17:30
berpcor
@berpcor
Aug 25 2014 17:34
Т.е. EAV - это уже "старинка"?
berpcor
@berpcor
Aug 25 2014 17:40
Блин... пролетел с выгодным вариантом покупки mac mini... засада...
@Quiss , а чему здесь медленно работать. Здесь же асинхронная передача данных, а это очень небольшой трафик )
Shappy
@Formcd
Aug 25 2014 17:59
@berpcor EAV старинка потому что сейчас много другого используют бд типа монги, json форматы c elastic search, json или store индексируемые в postgre...
Brezhnev Ivan
@vanchelo
Aug 25 2014 18:01
во во
индексеры рулят
Shappy
@Formcd
Aug 25 2014 18:02
Я сегодня только узнал что так можно сделать и причем неплохо сделать:)
berpcor
@berpcor
Aug 25 2014 18:28
https://toster.ru/q/19316 Пользователь ztxn - интересный комментарий про EAV...
Brezhnev Ivan
@vanchelo
Aug 25 2014 18:31
а где там интересный комментарий?
berpcor
@berpcor
Aug 25 2014 18:34
Пользователь ztxn
Shappy
@Formcd
Aug 25 2014 18:35
@berpcor Думаю интересен комментарий про "250 тыс товаров и все работает зашибись на EAV"? Я лично не верю... :) Как по мне, максимальный край EAV это около 40-50 тысяч, если может быть больше, то думать о EAV явно не стоит...
Я кстати такого пользователя в упор не вижу...
slider23
@slider23
Aug 25 2014 18:37
Там надо раскрыть комментарии у коммента alekciy
berpcor
@berpcor
Aug 25 2014 18:37
+, только хотел написать )
В случае с EAV контроль целостности на плечах пользователя.
Плохо...
Если можно использовать БД.
Maksim (Ellrion) Platonov
@Ellrion
Aug 25 2014 18:39
а что плохого в контроле целостности на уровне приложения а не БД?
Brezhnev Ivan
@vanchelo
Aug 25 2014 18:41
ничего
это норм
индексировать для быстрого поиска
Shappy
@Formcd
Aug 25 2014 18:42
Мне тоже кажется что это нормально...
berpcor
@berpcor
Aug 25 2014 18:42
Просто лишние телодвижения )
Shappy
@Formcd
Aug 25 2014 18:44
Ну я лично не знаю как решить это по-другому... =)
Brezhnev Ivan
@vanchelo
Aug 25 2014 18:45
да забейте ужо))
@berpcor'у хватит советов как по мне
это уже лишнее
человек сам не может определится
пусть сядет переварит
berpcor
@berpcor
Aug 25 2014 18:47
)
Shappy
@Formcd
Aug 25 2014 18:48
Подумай что тебе надо, какие критерии и просто выбери наиболее подходящий вариант...:) Все, больше ничего не пишу:)
berpcor
@berpcor
Aug 25 2014 18:49
Вообще, можно и писать. Чем больше разных мыслей, тем проще определиться )
Danil
@Jonik19
Aug 25 2014 19:03

Доброго вечера, подскажите пожалуйста.

$query->where('rooms.cost1', '>=', Input::get('price_start'));

У меня есть четыре столбца cost1 , cost2 и т.д как мне выполнить запрос с (или), то есть брать room если cost1 или cost2 и т.д больше Input::get('price_start')

berpcor
@berpcor
Aug 25 2014 19:04
whereRaw?
Shappy
@Formcd
Aug 25 2014 19:06
orWhere
Danil
@Jonik19
Aug 25 2014 19:12
@berpcor оно.
спасибо вам
berpcor
@berpcor
Aug 25 2014 19:20
Не за что )
Alexey Volodin
@alexeyvolodin
Aug 25 2014 20:00
Товарищи, помогите с проектированием БД. ломаю голову как правилеьнее сделать. Как правильно составить бд для клиентов. Клиенты будут 2х типов (физ. лица и юр. лица) соотвественно у каждого типа клиентов свои данные заполняются - у физ. лиц: имя, телефон, адрес, а у юр лиц - реквизиты банка и контактные данные. Как лучше хранить этих клиентов - в одной таблице и просто заполнять нужные поля, либо в разных таблицах? Может кто подскажет как правильнее или может какое другое решение.
Brezhnev Ivan
@vanchelo
Aug 25 2014 20:01
одна таблица общая и две для профайла
Andrey
@Quiss
Aug 25 2014 20:01
+
и просто в таблице общей разделение new_or_bu 0:1
:D
Brezhnev Ivan
@vanchelo
Aug 25 2014 20:01
или для общих данных поля, а для уникальных text JSON
в одной таблице
если фильтрация и сортировка по ним не нужна
а доставать поля легко
есть геттеры
Alexey Volodin
@alexeyvolodin
Aug 25 2014 20:02
по реквизитам фильттрация не нужна
Andrey
@Quiss
Aug 25 2014 20:02
кто сможет подсказать, есть текст, много текста, надо отрезать только конкретный текст в тэгах, допустим надо из текста вырезать <div class="footer">.....</div>
Brezhnev Ivan
@vanchelo
Aug 25 2014 20:02
тогда тип поля TEXT и в нем JSON
Jevix умеет
ааа, именно по селекторам?
Andrey
@Quiss
Aug 25 2014 20:03
та (
Brezhnev Ivan
@vanchelo
Aug 25 2014 20:03
тогда symfony dom crawler
Alexey Volodin
@alexeyvolodin
Aug 25 2014 20:03
@Quiss simple dom parser? :)
Brezhnev Ivan
@vanchelo
Aug 25 2014 20:03
он в ларе из коробки
там такие же селекторы как и на jQuery
Andrey
@Quiss
Aug 25 2014 20:03
о крутяк ща поковыряю)
@alexeyvolodin тож посмотрю в эту сторону спасиб)
Alexey Volodin
@alexeyvolodin
Aug 25 2014 20:04
@Quiss не если проект на ларе то лучше не смотреть :)
Andrey
@Quiss
Aug 25 2014 20:04
да парсер на ларе :)))
Alexey Volodin
@alexeyvolodin
Aug 25 2014 20:05
@Quiss :)
Andrey
@Quiss
Aug 25 2014 20:05
тупо завел в роут, ибо надо было срочно)
надо срочно*
Alexey Volodin
@alexeyvolodin
Aug 25 2014 20:23
погодите а по таблице с клиентами. в ней еще наверное поле надо будет для пометки - физ лицо или это юр. лицо. правильно мыслю?