These are chat archives for LaravelRUS/chat

3rd
Dec 2016
Palagovs
@Palagovs
Dec 03 2016 02:45
Есть кто живой
KarmaBot
@KarmaBot
Dec 03 2016 02:45
@Palagovs, и какой ответ ты ожидаешь услышать?
JhaoDa
@jhaoda
Dec 03 2016 02:57
@Palagovs http://laravel.su/articles/nine-circles-of-chat, круг седьмой. Ссылка на эти правила показывалась при входе в чат, но ты читать не стал, правда?
Sergey
@UnQuaiz
Dec 03 2016 03:25
@jhaoda вопрос который меня мучает - почему эта писанина называется девять кругов чата ? у кого то приступ графоманства был ?))
Roman Fandeev
@mrFANRA
Dec 03 2016 06:27
Подскажите. Можно использовать данные из конфига как модель?
Роман Сохарев
@greabock
Dec 03 2016 06:41
@UnQuaiz Дело в том, что к моменту написания этой заметки, чатик уже жил сам себе года полтора. И всем "старичкам" были понятны нормы поведения, потому что после пары просьб заворачивать ссылки, все стали заворачивать ссылки и т.д. А новички вообще не понимали что происходит. Я не помню кто именно, но кто-то в чате сказал, что наши правила - это круги ада. Типа гнобят за всё на свете, и нигде ж не написаны сами правила. Так собственно и появилась эта заметка - в ней я просто собрал в кучу всё что приходилось объяснять почти каждому новичку в чате. Изначально она не считалась правилами. Уж и не помню, но кто-то предложил считать заметку правилами, на том и порешили.
Ivan
@Hunternnm
Dec 03 2016 06:42
@greabock причем объясняли не по разу даже...
Роман Сохарев
@greabock
Dec 03 2016 06:42
ага
antimech
@antimech
Dec 03 2016 09:30

telegram

Есть форма отправки сообщения с поддержкой форматирования двух типов: Markdown и HTML.
в коде:
'parse_mode' => $request->input('formatting')
как сделать <select> для дефолтного типа, вообще без форматирования? или как?
если не задавать parse mode то именно это и случится. Но не дублировать же код отправки сообщения на случай
if formatting == default then sendMessage without parse_mode и т.д.
Alexander
@Dualse
Dec 03 2016 09:53
@antimech Не надо такие заголовки делать
antimech
@antimech
Dec 03 2016 09:54
@Dualse в смысле?
Alexander
@Dualse
Dec 03 2016 09:54
@antimech http://dl1.joxi.net/drive/2016/12/03/0018/0814/1217326/26/53e1aa9dad.png
Anton Vorontsov
@symbios-zi
Dec 03 2016 09:54
@diwms мокание бд и сущностей больше похоже на интеграционные тесты. Все те же подходы и phpunit, но создаются реальные данные в бд и и тестируются. Далее откатывают транзакцию и твоя бд чиста
antimech
@antimech
Dec 03 2016 09:56
@Dualse и он есть, а что?
Anton Vorontsov
@symbios-zi
Dec 03 2016 09:57
В случае с элоквентом есть трейт DatabaseTransactions, в случае с codeception тоже настроить откат транзакции можно через конфиг. Думаю что с пропелом что то похожее
Alexander
@Dualse
Dec 03 2016 09:57
@antimech Поправочка. "не надо".
antimech
@antimech
Dec 03 2016 09:57
@Dualse не могу отредактировать уже. Проблему как решить с типом форматирования по умолчанию?
Alexander
@Dualse
Dec 03 2016 10:00
@antimech Я не понял твою задачу
antimech
@antimech
Dec 03 2016 10:01
@Dualse есть параметр который в одном случае не нужно отправлять. Как обработать?
Alexander
@Dualse
Dec 03 2016 10:02
@antimech То есть у тебя при переключение select должен пропадать какой-то компонент из формы, а при другом значение появляться? Либо http запросе?
antimech
@antimech
Dec 03 2016 10:03
@Dualse если выбран select 0 не то не отправлять parse_mode
                $telegram->sendMessage([
                    'chat_id' => $user->id,
                    'text' => $request->input('message'),
                    'parse_mode' => $request->input('formatting')
                ]);
Alexander
@Dualse
Dec 03 2016 10:03
@antimech Ну так лара тут причем? На фронте убирай parse_mode и все. Или тебя валидация интересует?
antimech
@antimech
Dec 03 2016 10:04
@Dualse Валидация.
Пока решил так:
        $parse_mode = $request->input('formatting');
        if ($parse_mode == 'Default')
            $parse_mode = null;
Alexander
@Dualse
Dec 03 2016 10:08
@antimech Эм... А где тут валидация?
antimech
@antimech
Dec 03 2016 10:08
@Dualse Не знаю :D
Anton Vorontsov
@symbios-zi
Dec 03 2016 10:08
@diwms можно и модели мокать. Покажи код твоего теста
Alexander
@Dualse
Dec 03 2016 10:08
@antimech И чем это отличается, если бы у тебя у default value=''?
antimech
@antimech
Dec 03 2016 10:09
Это не делает отправку параметра parse_mode поскольку, если будет отправлено отличное от HTML или Markdown значение то будет исключение...
@Dualse Вот я думаю сейчас как бы все select сделать value="0/1/2" и быстренько сменить их на соответствующие названия в контроллере?
0 = ''
1 = 'Markdown'
2 = 'HTML'
Alexander
@Dualse
Dec 03 2016 10:12

@antimech Что-то ты меня запутал. Это массив value = title?

0 = ''
1 = 'Markdown'
2 = 'HTML'

antimech
@antimech
Dec 03 2016 10:13
Типа
Alexander
@Dualse
Dec 03 2016 10:13
@antimech А зачем ты тогда убрал title, а value сделал 0?
antimech
@antimech
Dec 03 2016 10:15
Я не пойму как массив такой сделать. @Dualse
Alexander
@Dualse
Dec 03 2016 10:16
@antimech Сразу уточню. А как у тебя это работает на фронте?
antimech
@antimech
Dec 03 2016 10:17
@Dualse
                            <select name="formatting">
                                <option value="0">Default</option>
                                <option value="1">Markdown</option>
                                <option value="2">HTML</option>
                            </select>
Alexander
@Dualse
Dec 03 2016 10:20

@antimech Поправь табуляцию.
Так не пробовал?

<select name="formatting">
    <option value="">Default</option>
    <option value="1">Markdown</option>
    <option value="2">HTML</option>
</select>

Если не ошибаюсь, то при выборе Default будет formatting = null

Ну и этот вопрос не относится к Laravel
Artur Gafurov
@assurrussa
Dec 03 2016 10:21
@antimech это самая обычная задача и в основном расcчитана на знание html... может стоит подкрепить базовые знания?
и постарайся задавать правильные вопросы, я 4 раза перечитал твое сообщение и ничего не понял, что тебе нужно.
antimech
@antimech
Dec 03 2016 10:32
@Dualse The formatting field is required.
@Dualse Shift-Tab здесь не работает
@Dualse В любом случае как я упоминал раньше, надо установить соответствие цифр со значениями.
0 = ''
1 = 'Markdown'
2 = 'HTML'
Запрос будет отправлять именно текстовую информацию.
А цифры посчитает за undefinded parse_mode
antimech
@antimech
Dec 03 2016 10:38
if $value == 0 then value = ''
if $value == 1 then value = 'Markdown'
if $value == 2 then value = 'HTML'
Palagovs
@Palagovs
Dec 03 2016 10:40
Добрый день
KarmaBot
@KarmaBot
Dec 03 2016 10:40
Будь как дома, @Palagovs, я ни в чем не откажу. Много мануалов, коль желаешь, покажу :)
antimech
@antimech
Dec 03 2016 10:41
switch ($request->input('formatting')) {
            case 0:
                $parse_mode = '';
                break;
            case 1:
                $parse_mode = 'Markdown';
                break;
            case 2:
                $parse_mode = 'HTML';
                break;
            default:
                $parse_mode = '';
        }
Palagovs
@Palagovs
Dec 03 2016 10:41
Ребята, мне, как ньюби ларавел девелопмент очень нужна помощь. Пожалуйста, надеюсь мне ответят.
antimech
@antimech
Dec 03 2016 10:43
как проще сделать? @Dualse
Palagovs
@Palagovs
Dec 03 2016 10:43
Пожалуйста, скажите, где это описано и кто как с этим справляется? Предположим у нас есть роут: /home/{id}/update , который перенаправляет на контроллер, который переделывает существующую запись..
Но к этому маршруту имеют доступ все пользователи
А я необходимо, чтобы только создатель существующей записи
Неужели это делается через middleware?
antimech
@antimech
Dec 03 2016 10:43

@Palagovs

Пожалуйста, скажите, где это описано и кто как с этим справляется? Предположим у нас есть роут: /home/{id}/update , который перенаправляет на контроллер, который переделывает существующую запись..

middleware

Palagovs
@Palagovs
Dec 03 2016 10:44
А если у меня 20 таких добавлений записи? Мне что, вводить 20 создателей в middleware?
Ivan
@Hunternnm
Dec 03 2016 10:44
@Palagovs какие 20 создателей?
Palagovs
@Palagovs
Dec 03 2016 10:45
Я именно говорю о создателе, а не правах доступа, аля, админ, или модератор, или пользователь.
antimech
@antimech
Dec 03 2016 10:45
Palagovs
@Palagovs
Dec 03 2016 10:47
Я очень грубо объясняю ситуацию скорее всего. Про создателей)
Спасибо большое, это решает мою проблему.
KarmaBot
@KarmaBot
Dec 03 2016 10:51
@Palagovs, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Palagovs
@Palagovs
Dec 03 2016 10:51
@antimech TY
antimech
@antimech
Dec 03 2016 10:52
@Palagovs yw
@Dualse решение! Спасибо
$parse_mode = [
            0 => '',
            1 => 'Markdown',
            2 => 'HTML'
        ];

// call
$parse_mode[$request->input('formatting')]
Alexander
@Dualse
Dec 03 2016 10:55
@antimech Зачем ты добавил, что это поле не должно быть пустым, если у тебя оно по логике может быть пустым?
antimech
@antimech
Dec 03 2016 11:05
@Dualse тут так не прокатит, в данном случае это не то
@Dualse еще изменить на 'formatting' => 'numeric|min:0|max:2', и готово
antimech
@antimech
Dec 03 2016 11:11
@Dualse поправочка in:0,1,2
Alexander
@Dualse
Dec 03 2016 11:20
@antimech Ладно. Я сдаюсь....
Roman Fandeev
@mrFANRA
Dec 03 2016 13:58
Хочу убрать в постраничном выводе ?page=1 для первой страницы. Я знаю про каноничные ссылки, но хочу убрать все же. Решение вижу в написание класса типа MyPaginator с одним методом url(), расширяющего Paginator фрейморка. Правильно я мыслю?
Rahim
@happyhaha
Dec 03 2016 14:07
Привет всем!
KarmaBot
@KarmaBot
Dec 03 2016 14:07
@happyhaha, ну рассказывай. Как жизнь? :)
Sergey
@UnQuaiz
Dec 03 2016 14:08
@greabock понятно
Anton Vorontsov
@symbios-zi
Dec 03 2016 15:25
@happyhaha здарова
Sergey
@UnQuaiz
Dec 03 2016 15:35
@mrFANRA расскажите что знаете про "каноничные ссылки". а то у меня появилось сомнение что вы знаете)
Roman Fandeev
@mrFANRA
Dec 03 2016 15:36
@UnQuaiz ссылка которая считается оригинальной по отношению к той где стоит данный тэг
я хочу убрать первый параметр page=1 и расставить меты next prev
Sergey
@UnQuaiz
Dec 03 2016 15:37
@mrFANRA а зачем убирать?
Roman Fandeev
@mrFANRA
Dec 03 2016 15:38
что бы не клеить /?page=1 с /
Zlatoslav Desyatnikov
@zlodes
Dec 03 2016 15:38
@mrFANRA, можно rewrite сделать просто, но, думаю, есть другое более правильное решение
Roman Fandeev
@mrFANRA
Dec 03 2016 15:39
хочу что бы пагинатор при инициализации дергал класс специальный, и через него прописывал меты prev и next
а каждая страница указывала каноничную на саму себя
и в принципе забыть про эту тему вообще
Sergey
@UnQuaiz
Dec 03 2016 15:41
@mrFANRA :) мне вот все seo и мета пришлось пихать в Route )
Roman Fandeev
@mrFANRA
Dec 03 2016 15:42
у меня все сложнее... домен на поддоменах городов и приходится еще генеририть меты в зависимости от городов и подставлять еще в и ссылках
Sergey
@UnQuaiz
Dec 03 2016 15:43
так это не сложно ещё
Roman Fandeev
@mrFANRA
Dec 03 2016 15:43
с городами и тегами разобрался, и вот остались страницы
Sergey
@UnQuaiz
Dec 03 2016 15:44
@mrFANRA каноникал у вас будет один для всех страниц пейджинга
иначе - будут дубли
т.е. для страницы
gurzuf.domain.com/oteli-v-gurzufe.html?page=2
canonical будет
gurzuf.domain.com/oteli-v-gurzufe.html
Roman Fandeev
@mrFANRA
Dec 03 2016 15:45
по идее не должны ... каждая страница является каноничной, а страницы клею через prev-next
Sergey
@UnQuaiz
Dec 03 2016 15:45
@mrFANRAну если это не список с пейджингом - то да
Roman Fandeev
@mrFANRA
Dec 03 2016 15:45
для gurzuf.domain.com/oteli-v-gurzufe.html?page=2 каноникал gurzuf.domain.com/oteli-v-gurzufe.html?page=2
и вот собственно для всей затеи мешает gurzuf.domain.com/oteli-v-gurzufe.html?page=1
Sergey
@UnQuaiz
Dec 03 2016 15:47
@mrFANRA я не буду с вами спорить. если у вас на странице page=2 несколько сущностей и другой сео - то конечно делайте каноникал её для неё же.
Roman Fandeev
@mrFANRA
Dec 03 2016 15:47
буду экспериментировать
Sergey
@UnQuaiz
Dec 03 2016 15:47
@mrFANRA я не понимаю как вы в начале пейджинга получаете page=1
@mrFANRA или вы из Paginator достаете урл ?
Roman Fandeev
@mrFANRA
Dec 03 2016 15:49
через render()
$model->render()
junk1114
@junk1114
Dec 03 2016 17:37
Привет. По Envoy может кто подсказать?
KarmaBot
@KarmaBot
Dec 03 2016 17:37
@junk1114, привет =)
junk1114
@junk1114
Dec 03 2016 18:22
Уже разобрался, спасибо=)
KarmaBot
@KarmaBot
Dec 03 2016 18:22
@junk1114, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
cleargoal
@cleargoal
Dec 03 2016 18:23
@KarmaBot спасибо :)
KarmaBot
@KarmaBot
Dec 03 2016 18:23
@cleargoal, не за что, я всегда к твоим услугам =)
Спасибо (+1) для @KarmaBot принято! Текущая карма +364.
Atmden
@Atmden
Dec 03 2016 20:42
Всем привет! Подскажите, кто как считает. Что лучше использовать Model::where('online','1')->first(); или Model::where('online','1')->find(1); ?
KarmaBot
@KarmaBot
Dec 03 2016 20:42
Будь как дома, @Atmden, я ни в чем не откажу. Много мануалов, коль желаешь, покажу :)
JhaoDa
@jhaoda
Dec 03 2016 20:46
@Atmden это два разных по результатам запроса
Atmden
@Atmden
Dec 03 2016 20:48
Да, но перед этим у меня идет проверка на количество записей в таблице.
Вот полное условие:
if (Model::where('online','1')->count() == 1)
        {
            $id_album =Model::where('online','1')->first();
            return Model2::where('id_album',$id_album->id)->get();
        }
        else
        {
            return Model::all()->count();
        }
Т.е. если у меня всего 1 активная запись у родителя, то я получаю все патерны этого родителя.
А если нет... то я еще не дописал... буду выводить список этих родителей...
Блин походу мне лучше ДО IF получить все активные записи в переменную и там уже смотреть сколько и что делать, а то у меня 3 запроса к 1 таблице с одним и тем же условием получается