These are chat archives for LaravelRUS/chat

27th
Apr 2017
Бао Гун
@baogun_twitter
Apr 27 2017 06:33
Доброе утро всем. Подскажите, как надстроить проверку логина-пароля, если логин и пароль лежат в разных таблицах? Связь N:1
Alexander
@Dualse
Apr 27 2017 06:35
@baogun_twitter Зачем настраивать? Проще написать свою проверку
Бао Гун
@baogun_twitter
Apr 27 2017 06:38
@Dualse а также свою функцию смены пароля, авторизации и всего прочего? К чему мне тогда laravel? :)
нельзя ли как-то подсунуть существующей функции авторизации не одну таблицу, а join из двух? Или придется пилить в базе view и работать через неё? Или можно создать модель с join и работать через неё?
или я мыслю Не по правилам?
Alexander
@Dualse
Apr 27 2017 06:46

@baogun_twitter чтобы код писать, используя ее фичи?

К чему мне тогда laravel?

А в чем смысл хранить пароль в другой таблице?
Бао Гун
@baogun_twitter
Apr 27 2017 06:56
@Dualse скорее - логины хранятся в другой. Вася с мобилы и Вася с планшета должны различаться системой, хотя юзер должен быть один.
Или, точнее, пока при регистрации не пройдёт валидация, учётка не создается.
Максим Устич
@UstichM_twitter
Apr 27 2017 06:57
Привет. Нужна консультация: хочу настроить контакт форму на локальном сервере, которая бы отправляла сообщение на сервер от пользователя, используя mailtrap.io. То есть по сути я ее настроил(на gmail приходят сообщения, хотя все настройки в .env я поставил на mailtrap, а не на gmail). А как мне перенаправить сообщения на mailtrap?:D
KarmaBot
@KarmaBot
Apr 27 2017 06:57
Не узнал тебя, @UstichM_twitter. Богатым будешь :)
Бао Гун
@baogun_twitter
Apr 27 2017 07:03
@UstichM_twitter если сообщения продолжают падать на gmail, то либо это не тот env, либо где-то хардкод.
JhaoDa
@jhaoda
Apr 27 2017 07:44
@baogun_twitter ларавел это фреймворк, а не швейцарский нож. Если что-то работает не так, как надо тебе, то берешь и заменяешь это. С таким настроем тебе подойдет Wordpress, похоже...
Alexander
@spartaque
Apr 27 2017 07:55
@baogun_twitter MAIL_DRIVER=smtp MAIL_HOST=mailtrap.io MAIL_PORT=2525 MAIL_USERNAME= MAIL_PASSWORD= MAIL_ENCRYPTION=tls должно работать
Бао Гун
@baogun_twitter
Apr 27 2017 07:57
@spartaque это не мне, это @UstichM_twitter наверное. Проблему уже решили - настройки закешировались в bootstrap
Alexander
@spartaque
Apr 27 2017 07:57
@baogun_twitter не тебе, извиняюсь)
JhaoDa
@jhaoda
Apr 27 2017 08:01
@spartaque так ты сообщение отредактируй, а не извиняйся
Alexander
@spartaque
Apr 27 2017 08:10
@jhaoda он уже увидел сообщение, пока я успел его отредактировать, так что смысла в редактировании не вижу, о всевышний
JhaoDa
@jhaoda
Apr 27 2017 08:11
@spartaque зато реальный адресат не увидит
Alexander
@spartaque
Apr 27 2017 08:21
@jhaoda удивит, так как он в своем сообщении уже успел упомянуть его :smile:
@spartaque это не мне, это @UstichM_twitter наверное. Проблему уже решили - настройки закешировались в bootstrap
Alexander
@Dualse
Apr 27 2017 08:22
@spartaque Уже бы давно отредактировал, чем что-то доказывать..)
JhaoDa
@jhaoda
Apr 27 2017 08:25
@spartaque зачем? :) «И так сойдёт»©
Alexander
@spartaque
Apr 27 2017 08:28
@Dualse @jhaoda хочу заработать ачивку почетный ворчун :)
Roman
@fearrr
Apr 27 2017 10:35
Всем привет.
кто юзает postrgres, подскажите пожалуйста как в ларке решить вопрос с auto_increment
KarmaBot
@KarmaBot
Apr 27 2017 10:35
Будь как дома, @fearrr, я ни в чем не откажу. Много мануалов, коль желаешь, покажу :)
Soprun Vladislav
@vlsoprun
Apr 27 2017 10:35
@fearrr поставить MySQL :smile:
P.S. ларочка сама решает проблему автоинкремента
P.S.S. но первый ответ более верный ))
Roman
@fearrr
Apr 27 2017 10:37
@vlsoprun :D мне нужен jsonb
SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint "categories_pkey"
$table->smallIncrements('id');
Бао Гун
@baogun_twitter
Apr 27 2017 10:38
@fearrr какой тип у поля в базе?
Roman
@fearrr
Apr 27 2017 10:39
@baogun_twitter navicat показывет int2
Бао Гун
@baogun_twitter
Apr 27 2017 10:46
странно. Почему не serial?
@fearrr как как создавал таблицу?
Roman
@fearrr
Apr 27 2017 10:48
Не знаю, может надо так сделать
$table->increments('id');
нет
тогда int4
через Shema
Бао Гун
@baogun_twitter
Apr 27 2017 10:50
миграцию покажи?
Roman
@fearrr
Apr 27 2017 10:58
@baogun_twitter момент
https://gist.github.com/fearrr/ed3dc04d260da9e2e7a8189bd73c604d
JhaoDa
@jhaoda
Apr 27 2017 11:00
@fearrr а я вот не понял, какой вопрос с auto_increment?
Почему у меня автоинкремент работает без всяких вопросов?
Roman
@fearrr
Apr 27 2017 11:02
Ну я просто недавно использую postgres, всех тонкостей не знаю. может что забыл.
JhaoDa
@jhaoda
Apr 27 2017 11:02
@fearrr ну ты не хочешь вопрос-то задать? Или что, ванговать?
Roman
@fearrr
Apr 27 2017 11:04
@jhaoda хочу. Как правильно использовать ai в ларке на postgres?

Такая ошибка

SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint "categories_pkey"

JhaoDa
@jhaoda
Apr 27 2017 11:05
@fearrr так а как эта ошибка относится к автоинкременту?
Бао Гун
@baogun_twitter
Apr 27 2017 11:05
@fearrr А где поле parent_id?
JhaoDa
@jhaoda
Apr 27 2017 11:05
@baogun_twitter NestedSet::columns($table);
Roman
@fearrr
Apr 27 2017 11:06
@baogun_twitter а его вроде создает трейт
@jhaoda +
Бао Гун
@baogun_twitter
Apr 27 2017 11:07
тип поля id какой в базе?
Roman
@fearrr
Apr 27 2017 11:07
@baogun_twitter int4
JhaoDa
@jhaoda
Apr 27 2017 11:07
@baogun_twitter какая разница, какой тип?
Roman
@fearrr
Apr 27 2017 11:08
SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint "categories_pkey" DETAIL: Key (id)=(2) already exists. (SQL: insert into "categories" ("parent_id", "name", "priority", "type", "_lft", "_rgt", "updated_at", "created_at") values (1, New node, 1, 1, 14, 15, 2017-04-27 14:07:08, 2017-04-27 14:07:08) returning "id")
Key (id)=(2) already exists.
Я подумал что с инкрементом проблема
JhaoDa
@jhaoda
Apr 27 2017 11:09
@fearrr очень может быть, если сиквенс, считающий инкремент, уже был начат
Но это опять же не проблема миграций и ларавел
Roman
@fearrr
Apr 27 2017 11:10
Может его надо сбрасывать как-то?
При migrate:refresh ?
JhaoDa
@jhaoda
Apr 27 2017 11:12
@fearrr не, не так сказал. Сиквенсу надо сказать, откуда считать, потому что, судя по всему, раньше были вставлены данные с прямым указанием id
А потом ты начал вставлять данные без указания id, начал работать автоинкремент, но он не знает про уже вставленные id и считает с начала
Бао Гун
@baogun_twitter
Apr 27 2017 11:13
либо была очистка таблицы без сброса счётчиков
JhaoDa
@jhaoda
Apr 27 2017 11:13
У нас такое было при импорте данных со старого проекта, да. Пришлось после импорта сиквенс ручками повышать до максимального id в таблице
Roman
@fearrr
Apr 27 2017 11:15
@jhaoda верно была вставка, при миграции там категории из json'а заливаются, с фактическим указанием id.
JhaoDa
@jhaoda
Apr 27 2017 11:15
@fearrr воооот
Roman
@fearrr
Apr 27 2017 11:15
@jhaoda А как это делается? И не будет ли нагрузку давать например если это товаров коснется?
JhaoDa
@jhaoda
Apr 27 2017 11:16
@fearrr так это один раз надо сделать, какая нагрузка?
Roman
@fearrr
Apr 27 2017 11:17
Ну а если к примеру, будут импортить файлики с товарами
А ну в конце импорта делать
Так а как все же указывать отсчет этому секвенсу?
JhaoDa
@jhaoda
Apr 27 2017 11:20
@fearrr
\Schema::table('table_name', function (Blueprint $table) use ($model) {
    $connection = $model::resolveConnection();

    $manager = $connection->getDoctrineSchemaManager();

    $sequence = $manager->getDatabasePlatform()->getIdentitySequenceName($table->getTable(), $model->getKeyName());

    $max = $connection->select(sprintf('SELECT MAX(id) AS value FROM %s', $table->getTable()))[0]->value;

    $connection->select("SELECT SETVAL('{$sequence}', {$max})");
});
Roman
@fearrr
Apr 27 2017 11:22
@jhaoda благодарю, сейчас попробую
KarmaBot
@KarmaBot
Apr 27 2017 11:22
Спасибо (+1) для @jhaoda принято! Текущая карма +1507.
Roman
@fearrr
Apr 27 2017 11:23
@jhaoda а в $model Category ?
JhaoDa
@jhaoda
Apr 27 2017 11:24
@fearrr типа того
Roman
@fearrr
Apr 27 2017 11:26
@jhaoda
[Symfony\Component\Debug\Exception\FatalThrowableError]
  Type error: Argument 1 passed to CategoriesTableSeeder::{closure}() must be an instance of Blueprint, instance of Illuminate\Database\Schema\Blueprint given
  , called in D:\_OS\domains\mvm\vendor\laravel\framework\src\Illuminate\Database\Schema\Blueprint.php on line 69
JhaoDa
@jhaoda
Apr 27 2017 11:27
@fearrr чувак, ну не расстраивай меня
В ларавел что, куча классов Blueprint, что ты не можешь сам неймспейс понять?
Roman
@fearrr
Apr 27 2017 11:31
@jhaoda А нужно doctrine ставить?
JhaoDa
@jhaoda
Apr 27 2017 11:31
@fearrr зачем? Хотя что ты понимаешь под doctrine?
Roman
@fearrr
Apr 27 2017 11:33
@jhaoda ну я имел ввиду orm
@jhaoda Class 'Doctrine\DBAL\Driver\PDOPgSql\Driver' not found
JhaoDa
@jhaoda
Apr 27 2017 11:33
@fearrr в доке сказано, что надо ставить для манипуляций с БД, ты не читал, да?:(
Про вот этот самый doctrine/dbal сказано
Roman
@fearrr
Apr 27 2017 11:35
@jhaoda до этого момента не требовалось. Но я обязательно почитаю ))
JhaoDa
@jhaoda
Apr 27 2017 11:36
@fearrr видишь? А прочитал бы сразу и времени теперь бы не потратил...
Raswin
@Raswin
Apr 27 2017 11:37
Добрый день, подскажите как сгрупировать элементы формы, чтобы их отправить вложенным массивом ?
KarmaBot
@KarmaBot
Apr 27 2017 11:37
@Raswin и тебе не хворать :)
JhaoDa
@jhaoda
Apr 27 2017 11:37
@Raswin это чат по ларавел, а не html/js
Raswin
@Raswin
Apr 27 2017 11:39
Я знаю, просто интересует, есть ли тег в который можно вложить данные и в такой же последовательность разобрать их в методе.
JhaoDa
@jhaoda
Apr 27 2017 11:39
@Raswin интересуйся в https://gitter.im/LaravelRUS/offtop
KarmaBot
@KarmaBot
Apr 27 2017 12:12
Hello, @NetkovK!
Maksim (Ellrion) Platonov
@Ellrion
Apr 27 2017 12:16
@NetkovK я так понимаю ты нашел что всё же можно вызвать connection)
NetkovK
@NetkovK
Apr 27 2017 12:16
@Ellrion ага, что-то тупонул
NetkovK
@NetkovK
Apr 27 2017 12:29
Есть 2 БД. В одной из них таблица с пользователями. В другой Бд есть user_id этих пользователей. Если возможность связать записи без бубна?
baogun_twitter @baogun_twitter прислушивается
Andrey
@daaner
Apr 27 2017 12:32
@NetkovK hasOne?
Igor Markin
@markinigor
Apr 27 2017 12:32
@NetkovK а в чем проблема то?
NetkovK
@NetkovK
Apr 27 2017 12:33
@markinigor если я пишу hasOne, то оно ищет в пределах это БД таблицу
Alexander
@spartaque
Apr 27 2017 12:35
@NetkovK пробовал $connection модели прописывать?
NetkovK
@NetkovK
Apr 27 2017 12:39
@spartaque спасибо, я в одной прописал, а во второй думал поумолчанию тянет. когда я вно прописал заработало.
KarmaBot
@KarmaBot
Apr 27 2017 12:39
Спасибо (+1) для @spartaque принято! Текущая карма +23.
Igor Markin
@markinigor
Apr 27 2017 12:50
@Daaner а мне то зачем было отсылать )
Andrey
@daaner
Apr 27 2017 12:53
@markinigor ай, простите)
Ваня Devium
@webdevium
Apr 27 2017 13:08
Ребята, а в 5.3 альтернатива правилу валидации sometimes nullable?
JhaoDa
@jhaoda
Apr 27 2017 13:09
@webdevium а куда делся sometimes?
Ваня Devium
@webdevium
Apr 27 2017 13:09
@jhaoda в доке в списке нет
в коде остался?
Ваня Devium
@webdevium
Apr 27 2017 13:10
@jhaoda а схера его в списке отдельно нет?))))
сбивает с толку
JhaoDa
@jhaoda
Apr 27 2017 13:10
@webdevium потому что это не самостоятельное правило
Ваня Devium
@webdevium
Apr 27 2017 13:11
@jhaoda ну, я раньше писал sometimes|string, и работало
а на 5.3 перестало
что я сделал не туда?
Бао Гун
@baogun_twitter
Apr 27 2017 13:17
кусок кода в студию, где "не туда"?
Ваня Devium
@webdevium
Apr 27 2017 13:19
       if ($this->boo === self::BOO) {
            $defaultRules = array_merge($defaultRules, [
                'check-1' => 'sometimes|nullable|numeric',
                'check-2' => 'sometimes|nullable|numeric',
                'check-3' => 'sometimes|nullable|numeric',
                'check-4' => 'sometimes|nullable|numeric',
            ]);
        }

        $rules = [];
        foreach ($defaultRules as $key => $rule) {
            if ((int)$config[$receiptType][$key] > 1) {
                $rules[$prefix . $key] = str_replace('sometimes', 'required', $rule);
            } else {
                $rules[$prefix . $key] = $rule;
            }
        }
Бао Гун
@baogun_twitter
Apr 27 2017 13:22
И что формируется в $rules? может формируется неверное?
т.е. Если ВСЕ sometimes заменить на require - ругаться будет?
Ваня Devium
@webdevium
Apr 27 2017 13:25
@baogun_twitter вот если заменило на required, то все ок
а если не заменило, то ошибка валидации
херня короче какая-то
Короче, забейте. Это днище я перепишу полностью.
Alexander
@spartaque
Apr 27 2017 13:26

Короче, забейте. Это днище я перепишу полностью.

:+1:

Бао Гун
@baogun_twitter
Apr 27 2017 13:27
@webdevium а ты уверен, что sometimes работает БЕЗ required?
Ваня Devium
@webdevium
Apr 27 2017 13:27
@baogun_twitter да
Бао Гун
@baogun_twitter
Apr 27 2017 13:29

@webdevium

$v = Validator::make($data, [
    'email' => 'sometimes|required|email',
]);

In the example above, the email field will only be validated if it is present in the $data array.

Ваня Devium
@webdevium
Apr 27 2017 13:35
@baogun_twitter все стало на свои места, спасибо  
Andrey
@daaner
Apr 27 2017 13:42
нубский вопрос! есть логотип из БД, он будет на всех страницах. Как мне его передать в главном контроллере (от которого у остальных просто parent {смайл})? Сразу в нужную вьюху return view`ом? Или дайте где почитать про такое можно.
Alexander
@Dualse
Apr 27 2017 13:42
@Daaner view composers
baogun_twitter @baogun_twitter угрюмо посмотрел на @KarmaBot, но спасибы не дождался. Зажилил?!
Ваня Devium
@webdevium
Apr 27 2017 13:43
@baogun_twitter это все потому, что бот - канистра
Alexander
@Dualse
Apr 27 2017 13:43
Просто Ваня специально спасибку в середине спрятал, чтобы не засчитало
Ваня Devium
@webdevium
Apr 27 2017 13:44
@baogun_twitter там спасибы в контексте "нахера там перед цифрой неразрывный пробел"
@baogun_twitter а теперь спасибо тебе, что пытался помочь :)
о, шарманка не работает ваще))
KarmaBot
@KarmaBot
Apr 27 2017 13:44
Спасибо (+1) для @baogun_twitter принято! Текущая карма +1.
Alexander
@Dualse
Apr 27 2017 13:44
@webdevium учись
xD
Ваня Devium
@webdevium
Apr 27 2017 13:45
@baogun_twitter thx
KarmaBot
@KarmaBot
Apr 27 2017 13:45
Карма @baogun_twitter не потревожена. Слишком часто её пошатывали.
Alexander
@Dualse
Apr 27 2017 13:45
@webdevium лол
JhaoDa
@jhaoda
Apr 27 2017 13:45
Ребята, ну который раз уже... кастрюлька тупая, понимает «спасибо» только в начале или в конце сообщения, не считая знаков препинания
Andrey
@daaner
Apr 27 2017 13:45
@Dualse почитаю, спасибо
KarmaBot
@KarmaBot
Apr 27 2017 13:45
Спасибо (+1) для @Dualse принято! Текущая карма +150.
PhpNet
@PhpNet
Apr 27 2017 13:51

Всем привет. Хм... у кого едет крыша? у фреймворка или у меня о_О

Запрос:

Request URL: /someUrl
Request Method:POST
Status Code:405 Method Not Allowed
Remote Address:SOME_IP:80


Response Headers
allow:GET, HEAD, POST
Cache-Control:no-cache, private
Connection:keep-alive
Content-Type:text/html; charset=UTF-8
Date:Thu, 27 Apr 2017 13:47:39 GMT
Server:...
Transfer-Encoding:chunked

Эм... Если в Allow приходит POST, то почему невозможно отправить пост-запрос? куда хоть копнуть?

KarmaBot
@KarmaBot
Apr 27 2017 13:51
Не узнал тебя, @PhpNet. Богатым будешь :)
Бао Гун
@baogun_twitter
Apr 27 2017 13:53
@PhpNet А как у тебя /someUrl обрабатывается?
какого вида данные он согласен принимать?
PhpNet
@PhpNet
Apr 27 2017 13:54
@baogun_twitter стандартный метод в сове, сохраняет модель. другие пост-запросы ходят в той же сове нормально, поэтому откинул ошибку админки. ему пофиг какие данные. судя по ошибке, не нравится как раз метод запроса
oLejikOnMyEvent
@oLejikOnMyEvent
Apr 27 2017 13:57
Здравствуйте ребята, я новичек в Ларавеле, хотел бы узнать решение проблемы.
Собственно сверстал сайт одностраничник, заснул верстку в blade.php, начались проблемы с подключением css и js, я их закинул в соответствующие папки в директории public, в разных версиях этот путь прописывается по разному, в новой версии как это можно сделать?
Далее, нужно прописать маршруты в файле routes.php как они пишутся для данного случая ? и нужно писать маршруты для каждого подключаемоего файла или же это делается 1 раз ?
Я уже второй час перерываю документацию и понять не могу, благодарен за помощь
KarmaBot
@KarmaBot
Apr 27 2017 13:57
@oLejikOnMyEvent, здравствуй.
Alexander
@Dualse
Apr 27 2017 13:58
@oLejikOnMyEvent Зачем тебе в routes прописывать маршруты для css, js?
oLejikOnMyEvent
@oLejikOnMyEvent
Apr 27 2017 13:58
я мог ошибиться, поэтому и спрашиваю
Бао Гун
@baogun_twitter
Apr 27 2017 13:59
@PhpNet другие пост-запросы на ТОТ же URL?
JhaoDa
@jhaoda
Apr 27 2017 13:59
@oLejikOnMyEvent предлагаю начать с чтения документации
PhpNet
@PhpNet
Apr 27 2017 14:00
@baogun_twitter тот же, только ИД другой. возможно, конечно, что то модели не нравится...
Бао Гун
@baogun_twitter
Apr 27 2017 14:00
@oLejikOnMyEvent тогда правильнее сформулировать вопрос иначе: "Где хранить файлы CSS и JS"?
Coryphaeus
@cvdeveloper13
Apr 27 2017 14:01
@oLejikOnMyEvent Если у тебя какая-то логика завязана на подключаемые файлы, то просто передавай с вьюхой. Если же нет, то не нужны никакие маршруты. Используй обычные хелперы лары.
oLejikOnMyEvent
@oLejikOnMyEvent
Apr 27 2017 14:01
я понял, спасибо
KarmaBot
@KarmaBot
Apr 27 2017 14:01
@oLejikOnMyEvent, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Бао Гун
@baogun_twitter
Apr 27 2017 14:03
@PhpNet а в логах что?
@PhpNet и проверь, что ты под видом POST не шлёшь GET
PhpNet
@PhpNet
Apr 27 2017 14:05
@baogun_twitter ну хромая консоль говорит что таки пост )) щас доберусь до лога, гляну... все таки, по ходу, бага в админке, а не в фреймворке..
Coryphaeus
@cvdeveloper13
Apr 27 2017 14:05
@baogun_twitter Ну судя по заголовкам, шлет POST)
Maksim (Ellrion) Platonov
@Ellrion
Apr 27 2017 14:08
@PhpNet не шлется ли там _method что вызывает метод спуфинг. и для лары твой пост не пост
Roman
@fearrr
Apr 27 2017 14:08
Посоветуйте пожалуйста. как лучше замапить коллекцию неограниченной вложенности?
PhpNet
@PhpNet
Apr 27 2017 14:10
@Ellrion спасибо, действительно о_О. не заметил что всунул форму в форму) конец рабочего дня, задолбался)
KarmaBot
@KarmaBot
Apr 27 2017 14:10
Спасибо (+1) для @Ellrion принято! Текущая карма +225.
primalpro
@primalpro
Apr 27 2017 15:01
        $rules = [
            'file' => 'required|mimes:jpeg,jpg,bmp,png,pdf'
        ];

        $validator = \Validator::make(\Request::all(),$rules, $messages);

        if ($validator->fails()) {
            return $validator->messages();
        }
Подскажите ! Отправляю через форму файлы... Нужно сделать валидацию по расширению, но валидатор ругается на все расширения.
Maksim (Ellrion) Platonov
@Ellrion
Apr 27 2017 15:03
@primalpro во первых. это валидация НЕ по расширению а по mime-type
Бао Гун
@baogun_twitter
Apr 27 2017 15:04
@Ellrion mimetypes

mimes:foo,bar,...

The file under validation must have a MIME type corresponding to one of the listed extensions.

JhaoDa
@jhaoda
Apr 27 2017 15:05
@baogun_twitter ты лучше ссылку давай
Maksim (Ellrion) Platonov
@Ellrion
Apr 27 2017 15:05
@baogun_twitter м? ты меня сейчас поправил или что я чёт недогнал
Бао Гун
@baogun_twitter
Apr 27 2017 15:05
@primalpro во первых, что кроме файлов присылает форма?
Yaroslav
@CrazyFreeMan
Apr 27 2017 15:06
Добрый день! Нужна помощь :) Есть 5.4 laravel, хочу в базе хранить JSON. В модели описал $casts, при записи в БД JSON строка ескейпится или добавляются " и потом при SELECT и передаче получаю не JSON а строка. Может кто подсказать где недочитал доку?
KarmaBot
@KarmaBot
Apr 27 2017 15:06
@CrazyFreeMan даров!
primalpro
@primalpro
Apr 27 2017 15:06
@baogun_twitter только файл
Maksim (Ellrion) Platonov
@Ellrion
Apr 27 2017 15:06
@baogun_twitter и? мне нафига эта ссылка?
Бао Гун
@baogun_twitter
Apr 27 2017 15:06
@primalpro ты уверен, что в all - ТОЛЬКО файл?
primalpro
@primalpro
Apr 27 2017 15:07
@baogun_twitter нет ! там еще есть id юзера к которому прикрепляется файл
Бао Гун
@baogun_twitter
Apr 27 2017 15:08
@primalpro и какое РАСШИРЕНИЕ у id? :) Вот отсюда и фейл
Maksim (Ellrion) Platonov
@Ellrion
Apr 27 2017 15:08
@baogun_twitter ты мне не ответил это раз. ты несешь фигню это два
primalpro
@primalpro
Apr 27 2017 15:09
@baogun_twitter ну $rules = [
'file' => 'required|mimetypes:jpeg,jpg,bmp,png,pdf'
];
я же тут указываю что проверяю только file
JhaoDa
@jhaoda
Apr 27 2017 15:09
@Ellrion он китаец, чо ты хочешь...
Бао Гун
@baogun_twitter
Apr 27 2017 15:10
@Ellrion отвечаю: mimetypes - проверка на ТИП содержимого, mime - роверка на расширение.
Maksim (Ellrion) Platonov
@Ellrion
Apr 27 2017 15:11
@baogun_twitter а теперь сходи и еще раз по своей же ссылке прочти внимательно
primalpro
@primalpro
Apr 27 2017 15:11
@baogun_twitter я же в валидатор передаю все что пришло вообще / а проверяю только 'file' , я не не проверяю 'user_id'
Maksim (Ellrion) Platonov
@Ellrion
Apr 27 2017 15:11
@baogun_twitter проверка один фиг идет по mime-type
@primalpro так а что тебе возвращается в валидаторе ошибки? сюда кинь
primalpro
@primalpro
Apr 27 2017 15:13
@Ellrion {
file: [
"The file must be a file of type: jpeg, jpg, bmp, png, pdf."
]
{
file: [
"The file must be a file of type: jpeg, jpg, bmp, png, pdf."
]
JhaoDa
@jhaoda
Apr 27 2017 15:14
@primalpro код оформлять не забывай
Maksim (Ellrion) Platonov
@Ellrion
Apr 27 2017 15:14
@primalpro а ты какой файл грузишь?
primalpro
@primalpro
Apr 27 2017 15:14
ну например pdf
не проходит
Maksim (Ellrion) Platonov
@Ellrion
Apr 27 2017 15:15
@primalpro ну т.е. на разных не проходит?
primalpro
@primalpro
Apr 27 2017 15:15
вообще ниче не проходит
если валидатор включен
Maksim (Ellrion) Platonov
@Ellrion
Apr 27 2017 15:17
@primalpro погоди выше ты написал что правило mimes а потом ниже написал что оно mimetypes. в итоге что же у тебя там реально?
primalpro
@primalpro
Apr 27 2017 15:18
   $rules = [
            'file' => 'required|mimes:jpeg,jpg,bmp,png,pdf'
        ];
        $validator = \Validator::make(\Request::all() ,$rules);
Roman
@fearrr
Apr 27 2017 15:19
Помогите сообразить, есть коллекция неограниченной вложенности нужно ее перебрать, и выбрать только нужные поля.
Как сделать лучше?
Yaroslav
@CrazyFreeMan
Apr 27 2017 15:19
Сейчас
KarmaBot
@KarmaBot
Apr 27 2017 15:19
@CrazyFreeMan, чтобы показать длинный листинг кода желательно использовать pastebin-сервис, например gist.github.com или laravel.io/bin.
JhaoDa
@jhaoda
Apr 27 2017 15:19
@CrazyFreeMan сделай, что бот попросил
Maksim (Ellrion) Platonov
@Ellrion
Apr 27 2017 15:21
@primalpro а ты уверен что ты передаешь именно файл pdf а не просто с расширением pdf?
primalpro
@primalpro
Apr 27 2017 15:21
да
уверен
я не уверен в том что я правильно вызываю валидатор
@Ellrion может ему не \Request::all() скармливать надо
JhaoDa
@jhaoda
Apr 27 2017 15:21
Да-да, вдруг это бухгалтерия файл прислала. А там скрин в жипег, в doc, в зипе с расширением pdf :)
Maksim (Ellrion) Platonov
@Ellrion
Apr 27 2017 15:23
@primalpro по коду у тебя всё верно и должно работать. но магии не существует а это значит что ты нам или дал неверные данные или чего то не договариваешь)
primalpro
@primalpro
Apr 27 2017 15:23
$file = Input::file('file');
if (!is_null($file)) {
$user = Auth::user();
$filename = md5(time() . uniqid() . rand(000, 999)) . "." . Input::file('file')->getClientOriginalExtension();
Input::file('file')->move(public_path('/upload'), $filename);
$ext=Input::file('file')->getClientOriginalExtension();
$rules = [
'file' => 'required|mimes:jpeg,jpg,bmp,png,pdf'
];
$validator = \Validator::make(\Request::all() ,$rules);
if ($validator->fails()) {
return $validator->messages();
}
@Ellrion Максим спасибо за помощь ) вот код... в форме на файл поле name="file"
Maksim (Ellrion) Platonov
@Ellrion
Apr 27 2017 15:25
убейте меня телегой хХ мы сохраним фал и только потом его провалидируем?
JhaoDa
@jhaoda
Apr 27 2017 15:26
@primalpro пустые строки убери и поправь оформление
Yaroslav
@CrazyFreeMan
Apr 27 2017 15:26
Хочу по API передавать адекватный JSON, часть дерева JSON храню в MySQL JSON (поле answers), вот чего добиваюсь: https://paste.laravel.io/xnyRa достаю с БД https://paste.laravel.io/BNOKQ но у меня получается вот такое: https://paste.laravel.io/1XRzb в моделе answers описано https://paste.laravel.io/DN2Yj вот как сохраняю https://paste.laravel.io/Xy9EY
ну и с этой проблемой не работает конструктор запросов JSON
primalpro
@primalpro
Apr 27 2017 15:28
@Ellrion щас попрбую местами поменять но врят ли поможет
@Ellrion помогло !
Maksim (Ellrion) Platonov
@Ellrion
Apr 27 2017 15:29
@primalpro потому что ты взял переместил уже файл. а потом валидируешь реквест и он не находит файл из реквеста так как темповый уже удален
primalpro
@primalpro
Apr 27 2017 15:30
@Ellrion понял / спасибо
KarmaBot
@KarmaBot
Apr 27 2017 15:30
Спасибо (+1) для @Ellrion принято! Текущая карма +226.
Maksim (Ellrion) Platonov
@Ellrion
Apr 27 2017 15:30
@primalpro вообще чувак то что ты скинул это говнокод
Roman
@RomanKolosov
Apr 27 2017 15:30
@SerafimArts Спасибо, 26
KarmaBot
@KarmaBot
Apr 27 2017 15:30
Спасибо (+1) для @SerafimArts принято! Текущая карма +718.
JhaoDa
@jhaoda
Apr 27 2017 15:30
@primalpro ты меня игноришь?
primalpro
@primalpro
Apr 27 2017 15:30
@Ellrion я говнокодер не отрицаю
@jhaoda я пробывал удалить строки ! все удалил / сорри
JhaoDa
@jhaoda
Apr 27 2017 15:31
@primalpro осталось попробОвать оформить код
@primalpro в следующий раз я ничего говорить не буду, а буду молча удалять твои простыни
Maksim (Ellrion) Platonov
@Ellrion
Apr 27 2017 15:33
@CrazyFreeMan мб потому что answer не array а объект. и плюс смени ответ с return response()->json($survey); на return $survey;
primalpro
@primalpro
Apr 27 2017 15:33
@jhaoda ок / извените
Roman
@RomanKolosov
Apr 27 2017 15:33
@CrazyFreeMan я решал такую задачу, сейчас скину решение
JhaoDa
@jhaoda
Apr 27 2017 15:33
@primalpro если ты не хочешь уважать сообщество, вынужденное ломать глаза на этом говнокоде, то...
Kirill Nesmeyanov
@SerafimArts
Apr 27 2017 15:34
@RomanKolosov чувствую так, как будто тебе в кредит карму выдал :D
primalpro
@primalpro
Apr 27 2017 15:34
@jhaoda простите засранца исправлюсь )
Yaroslav
@CrazyFreeMan
Apr 27 2017 15:35
@Ellrion Беру вручную в БД записываю {"colors": ["black", "white", "gold"], "size": {"weight": 1, "height": 1}} тогда все ок, если через POSTMAN то добавляет кавычки. Есть какая-то загвоздка пока не очевидная для меня)
Maksim (Ellrion) Platonov
@Ellrion
Apr 27 2017 15:37
@CrazyFreeMan так а где в коде "вот так сохраняю", само answer? я что то не увидел
Yaroslav
@CrazyFreeMan
Apr 27 2017 15:38

Вот что я получаю перед созданием модели Question (видимо трабла на этапе получения)

array:3 [
  "question" => "Текст вопроса"
  "answers" => "{"colors": ["black", "white", "gold"], "size": {"weight": 1, "height": 1}}"
  "type" => "string"
]

Условие валидатора

'questions.*.answers' => 'required|json',
Roman
@RomanKolosov
Apr 27 2017 15:38

@CrazyFreeMan

вот

https://paste.laravel.io/GzVDK

у меня так всё работает

KarmaBot
@KarmaBot
Apr 27 2017 15:38
@RomanKolosov, чтобы показать длинный листинг кода желательно использовать pastebin-сервис, например gist.github.com или laravel.io/bin.
Roman
@RomanKolosov
Apr 27 2017 15:39
ой ладно ща залью
Maksim (Ellrion) Platonov
@Ellrion
Apr 27 2017 15:39
@CrazyFreeMan перед тем как ты ее в модель пихаешь ее надо декоднуть из строки
Yaroslav
@CrazyFreeMan
Apr 27 2017 15:40

@Ellrion хотел по быстрому :))

$questionsForSave[] = new SurveyQuestion($question);

нужно каждое поле заполнить?

$casts не решает на этом этапе :( ?
Roman
@RomanKolosov
Apr 27 2017 15:41
@CrazyFreeMan посмотри мой код, у меня всё прекрасно работает принимаю json массив записываю в базу и вынимаю как php массив сразу без дополнительных преобразований
Roman
@fearrr
Apr 27 2017 15:41

Еще попытка)

есть коллекция неограниченной вложенности нужно ее перебрать, и выбрать только нужные поля.
Как сделать лучше?

Maksim (Ellrion) Platonov
@Ellrion
Apr 27 2017 15:42
@CrazyFreeMan ну так в том то и дело что каст делает когда ты берешь значение из базы он преобразует его строка->объект а когда кладешь то в обратную же сторону объект->строка
@fearrr тебе не ответили на твой вопрос потому что он не ясен до конца. в общем случае ответ рекурсия. хочешь подробнее пришли пример данных
@CrazyFreeMan а так строка просто строка не зависимо от ее содержания это тоже валидный json. вот ты и кладешь в базу свой джейсон как строку
Roman
@RomanKolosov
Apr 27 2017 15:44
@Ellrion всё так разве что json это всегда строка)
Yaroslav
@CrazyFreeMan
Apr 27 2017 15:45
@Ellrion Спасибо, буду разбирать. Казалось все будет проще :)
KarmaBot
@KarmaBot
Apr 27 2017 15:45
Спасибо (+1) для @Ellrion принято! Текущая карма +227.
Maksim (Ellrion) Platonov
@Ellrion
Apr 27 2017 15:45
@RomanKolosov нет
Roman
@RomanKolosov
Apr 27 2017 15:46
@Ellrion о.О назови пример когда json это не строка
Maksim (Ellrion) Platonov
@Ellrion
Apr 27 2017 15:47
@RomanKolosov ты не в тех терминах думаешь. так у тебя и php код это строка. джейсон это формат данных. и валидным джейсоном может быть null, true, false, массив, объект, строка. В терминах именно самого формата
@RomanKolosov компренде?
Roman
@RomanKolosov
Apr 27 2017 15:48
@Ellrion вот именно что это формат данных которые представляет из себя строку, а по разному оформив данные в этой строке они будут восприняты как null, true, false, массив, объект, строка. тогда когда это строка будет парсится в массив ну или в объект
Yaroslav
@CrazyFreeMan
Apr 27 2017 15:49
@RomanKolosov есть пример жсона который отдаешь/принимаешь в options ?
Maksim (Ellrion) Platonov
@Ellrion
Apr 27 2017 15:51
@RomanKolosov ты мне возразил на мои конкретные слова, и тогда я говорил о том что он вставляет строку именно в терминах джейсона. так что твое возражение было не корректно. так то всё биты и что теперь?
Roman
@RomanKolosov
Apr 27 2017 15:52
@CrazyFreeMan абсолютно любой json массив можешь передать {"options" : {"width" : 240, "height" : 500}}
@Ellrion да забей, просто json это всегда строка) а когда он пишет ->json он пытается преобразовать что то в эту строку
Yaroslav
@CrazyFreeMan
Apr 27 2017 15:54
кажется я понял где затупил :) Как решу напишу
Ничего решать не пришлось , нужно не плужить (отдыхать) и передавать тестовые данные в том виде в котором ожидаю :)
Roman
@RomanKolosov
Apr 27 2017 15:58
laravel он такой)
Yaroslav
@CrazyFreeMan
Apr 27 2017 16:00
@RomanKolosov Спасибо, и тебе за участие! :)
вспомнил что хотел сделать, в каждом методе проверяю наличие юзера в БД и возвращаю return response('Not found',404); решил вынести проверки в один метод но как тогда в том методе мне выдавать response и не продолжать выполнение ?
Roman
@RomanKolosov
Apr 27 2017 16:03
@CrazyFreeMan laravel сам формирует ошибки часто вот к примеру опять в том же коде который я тебе скинул проверяется есть ли картинка для которой мы создаём опцию в бд если нет возвращается не помню точно вроде 422, ошибка валидации, а response почти всегда laravel сам генерирует, читая доки обращай внимания, очень часто об этом сказано.
@CrazyFreeMan вообщем тут тоже нужно понять что именно ты проверяешь конкретно существование id пользователя или его принадлежность к чему либо, если принадлежность то это с помощью политик лучше делать
Yaroslav
@CrazyFreeMan
Apr 27 2017 16:07

@RomanKolosov только начал учить, много инфо до этого с такими фреймами не имел дело. Пока разжёвываю. Вот эту часть хочу вынести

$user = User::find($id);
        if (is_null($user)) {
            return response(['User not found'], 404);
        }

с этого https://paste.laravel.io/OzZXp

Roman
@RomanKolosov
Apr 27 2017 16:10

@CrazyFreeMan бинди роуты, то есть к примеру users/{user}

вызываешь get users/43
а принимаешь

public funtion show(User $user)
{
return $user;
}

ларавел сам вернёт 404 ошибку если не найдёт переданного ид

Yaroslav
@CrazyFreeMan
Apr 27 2017 16:11
@RomanKolosov Спасибо
KarmaBot
@KarmaBot
Apr 27 2017 16:11
Спасибо (+1) для @RomanKolosov принято! Текущая карма +1.
Roman
@RomanKolosov
Apr 27 2017 16:11
опять же можно воспользоваться
$user = User::findOrFail($id);

return $user;
Yaroslav
@CrazyFreeMan
Apr 27 2017 16:13
Меня напрягал формат BODY "Sorry, the page you are looking for could not be found" думал самому писать меседж
Roman
@RomanKolosov
Apr 27 2017 16:13
страницы ошибок можно в ручную прописывать
Yaroslav
@CrazyFreeMan
Apr 27 2017 16:14
эх, хорошо учиться но нужно и отдохнуть :) Спасибо за подсказки!
Ваня Devium
@webdevium
Apr 27 2017 16:45
@jhaoda Темыч, где в ларке корневой Eloquent объявляется?
Чтоб я свою CustomModel extends \Eloquent мог делать)
JhaoDa
@jhaoda
Apr 27 2017 16:45
@webdevium это фасад, но подсказки появятся только после генерации хелпер-файла
Ваня Devium
@webdevium
Apr 27 2017 16:45
@jhaoda нифига себе спрятали :)
пасиб
KarmaBot
@KarmaBot
Apr 27 2017 16:45
@webdevium, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Kirill Nesmeyanov
@SerafimArts
Apr 27 2017 16:46
Это не фасад
это класс-алиас на Model
JhaoDa
@jhaoda
Apr 27 2017 16:47
Ок, это алиас фасада
Kirill Nesmeyanov
@SerafimArts
Apr 27 2017 16:47
а оно вроде как не наследуется от Facade класса
JhaoDa
@jhaoda
Apr 27 2017 16:47
@SerafimArts не на модель, потому что там билдерные методы видны будут
Вернее, это заслуга ide-helpera
так что нет, не фасад
JhaoDa
@jhaoda
Apr 27 2017 16:49
@SerafimArts ну ок, согласен
И да, фасады/алиасы зло
Ваня Devium
@webdevium
Apr 27 2017 16:50
@jhaoda @SerafimArts Не спорьте :) Я просто волновался, что подсветка ведет только на ide-helper. Переспросил есть ли он в ларке. Спасибо.
KarmaBot
@KarmaBot
Apr 27 2017 16:50
Спасибо (+1) для @jhaoda принято! Текущая карма +1508.
Спасибо (+1) для @SerafimArts принято! Текущая карма +719.
Soprun Vladislav
@vlsoprun
Apr 27 2017 16:50
+1 за зло :smile:
Kirill Nesmeyanov
@SerafimArts
Apr 27 2017 16:51
+2 за зло
вот так зло и побеждает добро...
equentor
@equentor
Apr 27 2017 17:10
Я правильно понимаю что в ларе все исключения пробрасываются до самого верхнего try/catch?
Роман Сохарев
@greabock
Apr 27 2017 17:10
Мы тут ващпе хотели бутстраппер фасадов выпилить. Но грбеанный DB не позволил - много где юзается. Пока думаем.
equentor
@equentor
Apr 27 2017 17:10
Тем самым прерывая выполнение какого либо кода после секций catch
Роман Сохарев
@greabock
Apr 27 2017 17:13
а ну и Schema еще тоже...
надо все это выпиливать нахрен ) и фасады ф топку
Igor Lugis
@dragonattack
Apr 27 2017 17:20
ребят, а кто что использует готовое на ларе по типу вики (статьи, доки)? лёгкий гуглинг дал https://www.bookstackapp.com/ и ещё пару пакетов, которые ставить нужно, чтоб понять. может кто что порекомендует?
Andrei Sosnov
@atehnix
Apr 27 2017 17:24
перенес вопрос в оффтоп
Serg Sergeevich
@theSireus_twitter
Apr 27 2017 18:14
Вечер добрый
KarmaBot
@KarmaBot
Apr 27 2017 18:14
Прувет, @theSireus_twitter!
Victor Golovko
@siptik
Apr 27 2017 18:16
Привет всем. Подскажите насколько геморно интенрировать свои платежные системы со Spark?
Планируется использовать систему, в которой оплата происходит сайте платежной системы.
KarmaBot
@KarmaBot
Apr 27 2017 18:16
Привет, @siptik! Проходи, присаживайся. В ногах правды нет :)
Serg Sergeevich
@theSireus_twitter
Apr 27 2017 18:27
Походу тут только бот общительный)
@siptik как для меня, использовать его вообще не стоит. Spark - говнецо.
Victor Golovko
@siptik
Apr 27 2017 18:28
В чем его говеность?
@theSireus_twitter
Я просто его не юзал вообще
Serg Sergeevich
@theSireus_twitter
Apr 27 2017 18:30
@siptik я наверно резко стартанул, ахах. Про какой "Spark" идёт речь?
Victor Golovko
@siptik
Apr 27 2017 18:30
@theSireus_twitter https://spark.laravel.com/
Serg Sergeevich
@theSireus_twitter
Apr 27 2017 18:31
@siptik прошу прощения. С этим не знаком, не буду лезть)
Victor Golovko
@siptik
Apr 27 2017 18:31
по факту нужно реализовать предоставление доступ к документам за денежку. т.е. биллинговую с продажей доступов
тут как раз все гуд по описанию. Единственное что немного смутило что нет документации про кастомизацию/интеграцию платежных систем
Victor Golovko
@siptik
Apr 27 2017 18:37
из коробки рабатает со страйпом и пайпелом. Как я понимаю
Roman
@RomanKolosov
Apr 27 2017 18:38
@siptik на крайняк можно раскрутить исходники и дописать свой функционал аналогично другим системам. если по умолчанию такой возможности нету)
Victor Golovko
@siptik
Apr 27 2017 18:42
@RomanKolosov это понятно. Тут стоит вопрос целесообразности. Может проще сразу написать свое. Скорее всего я куплю этот пакет
Roman
@RomanKolosov
Apr 27 2017 18:47
@siptik выбор каждого как говорится, я хоть и новичок но мне не нравятся много функциональные решения (движки и прочее), они всегда ставят в те или иные рамки, другое дело решения покрывающие одну конкретную задачу или подмножество задач связанных с главной.
Victor Golovko
@siptik
Apr 27 2017 18:48
@RomanKolosov этот пакет на 90% решает мои задачи
И темболее что это просто пакет к laravel. Который можно расширить
Roman
@RomanKolosov
Apr 27 2017 18:49
@siptik тогда в чём вопрос?)
Victor Golovko
@siptik
Apr 27 2017 18:52
@RomanKolosov вопрос в том что все равно нужно пакет допиливать.
Вот от того насколько просто его допиливать и зависит стоит его юзать или нет. (интересуют именно временные затраты)
Roman
@RomanKolosov
Apr 27 2017 18:55
@siptik однако быстрее чем реализовывать те 90% функционала которые в нём имёются, да и вообще раз пакет платный то думаю не грех спросить на прямую у разработчика