These are chat archives for LaravelRUS/chat

24th
Mar 2017
f-ostaev
@f-ostaev
Mar 24 2017 01:28
Доброй ночи
KarmaBot
@KarmaBot
Mar 24 2017 01:28
@f-ostaev и тебе не хворать :)
f-ostaev
@f-ostaev
Mar 24 2017 01:28
Есть кто не спящий?
Alexander
@Dualse
Mar 24 2017 04:47
@f-ostaev а ты правила читал?
f-ostaev
@f-ostaev
Mar 24 2017 07:09
@Dualse нет, не читал
Ivan
@Hunternnm
Mar 24 2017 07:10
@f-ostaev тут надо сразу и по делу
есть кто живой?
KarmaBot
@KarmaBot
Mar 24 2017 07:10
@Hunternnm, и какой ответ ты ожидаешь услышать?
Ivan
@Hunternnm
Mar 24 2017 07:10
вот даже бот против таких вопросов
f-ostaev
@f-ostaev
Mar 24 2017 07:11
@Hunternnm понял
@Hunternnm извиняюсь
JhaoDa
@jhaoda
Mar 24 2017 07:23
@f-ostaev ты в чате не первый раз уже, лучше правила почитай — http://laravel.su/articles/nine-circles-of-chat
f-ostaev
@f-ostaev
Mar 24 2017 07:39
@jhaoda хорошо, спасибо
KarmaBot
@KarmaBot
Mar 24 2017 07:39
Спасибо (+1) для @jhaoda принято! Текущая карма +1475.
Soprun Vladislav
@vlsoprun
Mar 24 2017 07:53
Здорова мужики 😀
Андрианов Сергей
@Batisska
Mar 24 2017 07:55
Ас-саляму алейкум :)
sergeypechenyuk
@sergeypechenyuk
Mar 24 2017 08:43
Привет. Кто-нибудь может помочь с паспортом?
KarmaBot
@KarmaBot
Mar 24 2017 08:43
@sergeypechenyuk даров!
Soprun Vladislav
@vlsoprun
Mar 24 2017 08:44
@sergeypechenyuk Вопрос в студию
Dave
@aios
Mar 24 2017 08:46
@sergeypechenyuk тебе загран? или как кражу пропажу оформить?
sergeypechenyuk
@sergeypechenyuk
Mar 24 2017 08:46
@vlsoprun Есть сайт 1. Который делает перенаправление пользователя на сервер oauth по урлу oauth/authorize?response_type=code&client_id... При этом oauth отвечает, что пользователь не авторизирован и не перенаправляет на форму авторизации. Если пользователь авторизован на oauth, то проходит дальше до запроса разрешения для доступа к учетке
@aios ))
собственно вопрос почему не перенаправляет на форму авторизации?
sergeypechenyuk
@sergeypechenyuk
Mar 24 2017 09:03
нет мыслей?
sergeypechenyuk
@sergeypechenyuk
Mar 24 2017 09:24
эхххх жаль
JesterAntik
@JesterAntik
Mar 24 2017 09:41
Если на один роут подвешено два мидлваре, то в каком порядке они выполняются?
sergeypechenyuk
@sergeypechenyuk
Mar 24 2017 09:42
ну у меня пока просто в роутах
https://paste.laravel.io/p4Q4q
KarmaBot
@KarmaBot
Mar 24 2017 09:42
@sergeypechenyuk, чтобы показать длинный листинг кода желательно использовать pastebin-сервис, например gist.github.com или laravel.io/bin.
JesterAntik
@JesterAntik
Mar 24 2017 10:03
Кто-нибудь подскажет по порядку запуска Middleware? а то в доках не нашел
Andrey
@Quiss
Mar 24 2017 10:06
карма
KarmaBot
@KarmaBot
Mar 24 2017 10:06
@Quiss, Ваша карма +33. Вы благодарили 40 раз.
  • Достижения: "Находчивый", "Благодарный"
Павлик
@Check_u_twitter
Mar 24 2017 10:07
@JesterAntik разумеется выполняются по порядку, как еще.
Arsen Soroka
@arsen-s
Mar 24 2017 10:07
@JesterAntik твой вопрос проверяется за 1 минуту, а ты потратил 20, задав его в чате
JesterAntik
@JesterAntik
Mar 24 2017 10:07
ну имеется ввиду от чего зависит порядок их выполнения? как быть уверенным, что мой мидлваре запустится после авторизации?
Alexander
@Dualse
Mar 24 2017 10:08
@JesterAntik А как ты делаешь авторизацию?
yuriy
@omadonex
Mar 24 2017 10:10
Всем привет. Столкнулся с небольшой проблемкой. Я делаю приложение на C# Windows Forms. И у меня есть форма для ввода логина и пароля. Мне нужно при нажатии на кнопку входа в приложении соединиться с моим сервером, на котором крутится сайт, проверить правильность введенных данных и отправить обратно ответ. Я никак не могу в C# сгенерировать по введенному пользователем паролю нужный мне хэш для отправки и сверки на сайте. В Laravel используется BCrypt при создании пользователей. Я нашел подобную библиотеку для C#. Но сгенерированные хэши никак не совпадают. Кто-нибудь сталкивался с такой задачей, что нужно сделать? Спасибо
KarmaBot
@KarmaBot
Mar 24 2017 10:10
@omadonex, привет, как настроение?
Maksim (Ellrion) Platonov
@Ellrion
Mar 24 2017 10:10
@JesterAntik в порядке указания
KarmaBot
@KarmaBot
Mar 24 2017 10:10
@omadonex, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
JesterAntik
@JesterAntik
Mar 24 2017 10:10
стандартным middleware. Добавляю на группу роутов
Route::group(["middleware" => ['auth']], function () {
    Route::get('/', function () { ....
@JesterAntik оформи код
KarmaBot
@KarmaBot
Mar 24 2017 10:11
@JesterAntik, чтобы код легко читался, поставь перед ним и после него по строке с тремя обратными апострофами (символ ` на клавише с буквой «Ё»).
Узнать больше про оформление сообщений можно в справке по Markdown (кнопка M↓ внизу справа).
Кстати, свои сообщения здесь можно редактировать... ;)
NoViKoFF
@AndrewNovikof
Mar 24 2017 10:11
@omadonex хэши генерятся с учетом ключа
yuriy
@omadonex
Mar 24 2017 10:11
@jhaoda вообще с ларавел непосредственно связано )
@AndrewNovikof что за ключ?
Maksim (Ellrion) Platonov
@Ellrion
Mar 24 2017 10:12
@omadonex кол-во итераций, и параметры соли наверное разные
yuriy
@omadonex
Mar 24 2017 10:12
@Ellrion кол-во итераций одинаковое 10 по умолчанию
Maksim (Ellrion) Platonov
@Ellrion
Mar 24 2017 10:13
@omadonex а соль 2y?
yuriy
@omadonex
Mar 24 2017 10:13
@Ellrion единственное я получаю в начале $2a а в Laravel $2y Я погуглил $2y это если генерить с солью, попробовал сгенерить с солью то же самое
Павлик
@Check_u_twitter
Mar 24 2017 10:14
@omadonex remember_token это не соль?
NoViKoFF
@AndrewNovikof
Mar 24 2017 10:14
@omadonex хотя нет, я ошибаюсь:
 /**
     * Create a new user instance after a valid registration.
     *
     * @param  array  $data
     * @return User
     */
    protected function create(array $data)
    {
        return User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
        ]);
    }
yuriy
@omadonex
Mar 24 2017 10:15
@Check_u_twitter я думал это с сессией как то связано
Maksim (Ellrion) Platonov
@Ellrion
Mar 24 2017 10:17
@AndrewNovikof или это не мне или я не понял что ты хотел этим показать
NoViKoFF
@AndrewNovikof
Mar 24 2017 10:18
@Ellrion Да, действительно не тебе
yuriy
@omadonex
Mar 24 2017 10:18
@AndrewNovikof этот код я видел
@AndrewNovikof при создании пользователя пароль шифруется bcyptом
KarmaBot
@KarmaBot
Mar 24 2017 10:19
@krimes, и тебе привет ;)
Maksim (Ellrion) Platonov
@Ellrion
Mar 24 2017 10:19

там надо еще понимать что bcrypt это app('hash')->make($value, $options); что в свою очередь

    public function make($value, array $options = [])
    {
        $cost = isset($options['rounds']) ? $options['rounds'] : $this->rounds;

        $hash = password_hash($value, PASSWORD_BCRYPT, ['cost' => $cost]);

        if ($hash === false) {
            throw new RuntimeException('Bcrypt hashing not supported.');
        }

        return $hash;
    }

http://php.net/manual/ru/function.password-hash.php

yuriy
@omadonex
Mar 24 2017 10:25

@Ellrion хорошо, так а какой тогда вообще алгоритм проверки на сервере? Я же не могу просто

 User::where("email", $email)->where("password", $password)

Потому что я не угадаю соль

Maksim (Ellrion) Platonov
@Ellrion
Mar 24 2017 10:30
@omadonex ну лара не так выбирает пользователя. Она не хеширует пароль а потом ищет его в базе - Нет. она выбирает пользователя по каким то параметрам а потом проверяет его пароль вот такой функцией http://fi2.php.net/manual/ru/function.password-verify.php
@omadonex просто когда ты делаешь bcrypt он тебе генерит новую соль вместе с хешем вот у тебя и разные значения
yuriy
@omadonex
Mar 24 2017 10:32
@Ellrion сгенерированный хэш должен быть открытым ключом для проверки
@Ellrion а какая функция лары это делает? Auth::attempt?
Maksim (Ellrion) Platonov
@Ellrion
Mar 24 2017 10:34
@omadonex первую фразу я не понял. а вторая - формально да вызывается в недрах attempt но вообще в validateCredentials у UserProvider'a который вызывает check у Hasher'a
yuriy
@omadonex
Mar 24 2017 10:35
@Ellrion я имел ввиду что неважно какая соль, при использовании сверки хэшей роль открытого ключа в алгоритме шифрования играет как раз таки сгенерированный пароль с любой солью
Maksim (Ellrion) Platonov
@Ellrion
Mar 24 2017 10:36
@omadonex эм всё верно. тогда я не понимаю зачем ты сам пытался хешить
yuriy
@omadonex
Mar 24 2017 10:37
@Ellrion я просто не знаю эту функцию в ларе :) и пытался пойти другим путем
Дмитрий Мязин
@d4c0
Mar 24 2017 10:43
Ребята, есть 2 вопроса:
  1. Пишу пакет, в главном файле composer.json прописал локальный репозиторий и указал путь к пакету. Так же залил пакет на гитхаб и указал его на packagist. Как указать композеру, что-бы он устанавливал пакет из локального репозитория (создавал симлинк), а не выкачивал его из удалённого репо?
  2. Где правильнее в приложении хранить сервисный слой, если этот код нужен только в контексте данного приложения и не имеет смысла его реиспользовать (не нужно оформлять отдельным пакетом и потом подключать)?
Павлик
@Check_u_twitter
Mar 24 2017 10:51
@omadonex попытался проследить в дебагере как проходит авторизация -черт ногу сломит, зачем такие нагромождения...
yuriy
@omadonex
Mar 24 2017 10:52
@Check_u_twitter так а как вообще проверить логин/пароль вводимый в десктопном приложении на сайте?
Павлик
@Check_u_twitter
Mar 24 2017 10:54
@omadonex отправь запрос на web, считай заголовки ^^
yuriy
@omadonex
Mar 24 2017 10:57
@Ellrion спасибо!
KarmaBot
@KarmaBot
Mar 24 2017 10:57
Спасибо (+1) для @Ellrion принято! Текущая карма +208.
Maksim (Ellrion) Platonov
@Ellrion
Mar 24 2017 11:02
@d4c0 1 - тебе нужно указать реп явно https://getcomposer.org/doc/05-repositories.md#path
@d4c0 2 - слишком размыто. Архитектуры могут быть разные под "сервисный слой" можно понимать разно и т.д. и т.п В таком варианте вопроса ответ дать нельзя
Дмитрий Мязин
@d4c0
Mar 24 2017 11:07

@Ellrion ну в моём случае это классы, методы которых дергают контроллеры. В свою очередь они дёргают модель. Сделано так что-бы контроллер не работал напрямую с моделью, а занимался только обработкой реквеста, валидацией , приведением данных в нужный вид, и созданием респонса.

Прослойка между контроллером и моделью, содержащая основную бизнесс логику, дабы контроллеры были максимально тонкими.

Maksim (Ellrion) Platonov
@Ellrion
Mar 24 2017 11:08
@d4c0 ну так просто создай папочку app\Services
@d4c0 у меня например она на одном проекте такая еще содержит три директории
Domain
Foundation
Party
Дмитрий Мязин
@d4c0
Mar 24 2017 11:10
@Ellrion спасибо большое, оба вопроса закрыты)
KarmaBot
@KarmaBot
Mar 24 2017 11:10
Спасибо (+1) для @Ellrion принято! Текущая карма +209.
Maksim (Ellrion) Platonov
@Ellrion
Mar 24 2017 11:10
@d4c0 некоторые предпочитают делать в папке с моделями поддиректории с именем модели куда и кладут саму модель и ее сервис
Anton Vorontsov
@symbios-zi
Mar 24 2017 11:56
@Ellrion а ты какого принципа придерживаешься?
Maksim (Ellrion) Platonov
@Ellrion
Mar 24 2017 11:59
@symbios-zi ну собственно как я и написал у меня папка сервис с 3 категориями
Anton Vorontsov
@symbios-zi
Mar 24 2017 12:00
у меня как то линейно в Services. Каждый сервис в папке и все. а в папке Foundation у тебя?
Maksim (Ellrion) Platonov
@Ellrion
Mar 24 2017 12:02
@symbios-zi то что не относится к бизнес логике, но относится к приложению (окружению). например FlashMessage или Localization (который по определенным параметрам определяет текущий язык)
Anton Vorontsov
@symbios-zi
Mar 24 2017 12:05
@Ellrion типа инфраструктуры
Maksim (Ellrion) Platonov
@Ellrion
Mar 24 2017 12:05
@symbios-zi ага
@symbios-zi в старом проекте было тоже все просто в одном, но хотелось больше порядка когда сервисов стало много
Моторний Олексій
@OleksiyMotorny_twitter
Mar 24 2017 12:07
Привет всем. Народ подскажите плз. Есть рабочая функция для закачивания картинок на сайт. Как её можно переделать под "закачивание видеофайлов"???
public function upload(Request $request)
{
foreach ($request->file() as $file) {
foreach ($file as $f) {
$f->move(storagepath('images'), time().''.$f->getClientOriginalName());
}
}
return "Успех";
}
KarmaBot
@KarmaBot
Mar 24 2017 12:07
Привет, @OleksiyMotorny_twitter! Проходи, присаживайся. В ногах правды нет :)
Soprun Vladislav
@vlsoprun
Mar 24 2017 12:07
@OleksiyMotorny_twitter оформи код
KarmaBot
@KarmaBot
Mar 24 2017 12:07
@OleksiyMotorny_twitter, чтобы код легко читался, поставь перед ним и после него по строке с тремя обратными апострофами (символ ` на клавише с буквой «Ё»).
Узнать больше про оформление сообщений можно в справке по Markdown (кнопка M↓ внизу справа).
Кстати, свои сообщения здесь можно редактировать... ;)
Maksim (Ellrion) Platonov
@Ellrion
Mar 24 2017 12:08

@OleksiyMotorny_twitter а можно ваш урл проекта? я поду вас взломаю) ибо getClientOriginalName это явно

"Успех"

Soprun Vladislav
@vlsoprun
Mar 24 2017 12:09
@Ellrion а ты коварный :smile:
Моторний Олексій
@OleksiyMotorny_twitter
Mar 24 2017 12:10
=)
Моторний Олексій
@OleksiyMotorny_twitter
Mar 24 2017 12:18
ну и на том спасибо
KarmaBot
@KarmaBot
Mar 24 2017 12:18
@OleksiyMotorny_twitter, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Моторний Олексій
@OleksiyMotorny_twitter
Mar 24 2017 12:18
Удачки всем
Maksim (Ellrion) Platonov
@Ellrion
Mar 24 2017 12:23
Странный) не узнал "а как надо?" или "а что по самому вопросу?")
JhaoDa
@jhaoda
Mar 24 2017 12:29
@OleksiyMotorny_twitter тебя попросили оформить код
Soprun Vladislav
@vlsoprun
Mar 24 2017 12:30
@OleksiyMotorny_twitter Всегда пожалуйста, заходи если чЁ :wink:
JhaoDa
@jhaoda
Mar 24 2017 12:33
Я знаю, почему ему никто ничего толкового не сказал. Слишком мало вопросительных знаков поставил.
Всего три. Ну шо это? Это для лохов...
Soprun Vladislav
@vlsoprun
Mar 24 2017 13:08
@jhaoda :satisfied:
Anton Vorontsov
@symbios-zi
Mar 24 2017 13:16
а как вы называете репозитории которые просто из массива данные возвращают? ArrayRepository?
Rednaxela-1
@Rednaxela-1
Mar 24 2017 13:44
работа PHP LARAVEL CSS разработка портала - пишите на скайп Rednaxela-1
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 13:44
халва JS NODE HTML разработка телепорта - пишите в /dev/null
JhaoDa
@jhaoda
Mar 24 2017 13:51
@Rednaxela-1в бан хочешь?
projct1
@projct1
Mar 24 2017 14:06
Request::only(['admin_id', 'anonymous', 'asfasfas', 'asdfasd'])
сколько бы параметров не перечислил, они всегда будут в запросе равные null даже если их не передавать
это нормально?
Anton Vorontsov
@symbios-zi
Mar 24 2017 14:10
Починка серверов linux, пишите в консоли rm -rf /*
Maksim (Ellrion) Platonov
@Ellrion
Mar 24 2017 14:10
@rorc ну нормально или нет это вопрос) Но это так работает
MetaDone
@MetaDone
Mar 24 2017 14:10
@symbios-zi sudo chmod 0777 -R /
projct1
@projct1
Mar 24 2017 14:10
@Ellrion странно, по логике должно работать так же как except, только наоборот
Anton Vorontsov
@symbios-zi
Mar 24 2017 14:11
@MetaDone да ты опасен
projct1
@projct1
Mar 24 2017 14:11
@Ellrion опасный метод, а я всё голову ломал почему неправильно работает
PhpNet
@PhpNet
Mar 24 2017 14:11
Приветствую. Подскажите, люди добрые, есть ли у лары какая то компонента для генерации slug'ов подобно WP?
KarmaBot
@KarmaBot
Mar 24 2017 14:11
@PhpNet и тебе не хворать :)
projct1
@projct1
Mar 24 2017 14:11
@PhpNet spatie/sluggable
JhaoDa
@jhaoda
Mar 24 2017 14:11
@PhpNet ват???
Anton Vorontsov
@symbios-zi
Mar 24 2017 14:11
@PhpNet str_slug() хелпер
Maksim (Ellrion) Platonov
@Ellrion
Mar 24 2017 14:12
@rorc не совсем. Only это как по очереди сделать Request::input('key') и сложить в массив. В этом виде вполне логично что там null
PhpNet
@PhpNet
Mar 24 2017 14:12
@symbios-zi спасибо, не знал о ней :) ушел курить доку внимательнее
MetaDone
@MetaDone
Mar 24 2017 14:12
@symbios-zi еще лучше
sudo echo "test" > /etc/sudoers
projct1
@projct1
Mar 24 2017 14:12
@Ellrion ну по идеи да, но всё равно неоднозначно как-то
Anton Vorontsov
@symbios-zi
Mar 24 2017 14:13
бот всегда меня игнорирует :( @SerafimArts меня не любит
Maksim (Ellrion) Platonov
@Ellrion
Mar 24 2017 14:13
@rorc ну согласен. нюанс есть
JhaoDa
@jhaoda
Mar 24 2017 14:13
@symbios-zi пора запомнить, что «спасибо» должно быть первым или последним словом в сообщении
Anton Vorontsov
@symbios-zi
Mar 24 2017 14:14
@jhaoda понял. я думал это лаги всегда
PhpNet
@PhpNet
Mar 24 2017 14:14
тож не знал, думал бот просто отлавливает по регекспу
JhaoDa
@jhaoda
Mar 24 2017 14:15
@PhpNet а ещё бот не реагирует на редактирование сообщения
Maksim (Ellrion) Platonov
@Ellrion
Mar 24 2017 14:16
@rorc кстати для тебя по идее подойдет intersect метод. Он будет работать как ты ожидал от only. "Но это не точно")
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 14:16
@PhpNet раньше был регексп, но потом убрали, слишком много лишних срабатываний
projct1
@projct1
Mar 24 2017 14:17
@Ellrion точняк, он как раз и состоит из того, что я сам написал, спс
KarmaBot
@KarmaBot
Mar 24 2017 14:17
Спасибо (+1) для @Ellrion принято! Текущая карма +210.
projct1
@projct1
Mar 24 2017 14:19
@Ellrion правда плохо что если просто передать ?param, то он не попадёт в результат со значением null :(
@Ellrion хотя по идеи должен
Anton Kartsev
@bigperson
Mar 24 2017 14:20
Всем привет. Подскажите где стандартный Auth::routes(); храниться, никак понять не могу?
JhaoDa
@jhaoda
Mar 24 2017 14:20
@bigperson ide-helper поможет
Maksim (Ellrion) Platonov
@Ellrion
Mar 24 2017 14:22
@bigperson смотри сначало "\Illuminate\Support\Facades\Auth" а потом "Illuminate\Routing\Router"
Anton Kartsev
@bigperson
Mar 24 2017 14:22
@jhaoda не помог хелпер(( , оказывается он в Illuminate\Routing\Router а я в auth искал.
JhaoDa
@jhaoda
Mar 24 2017 14:23
@bigperson а мне помог
projct1
@projct1
Mar 24 2017 14:28
@Ellrion кстати неплохо было бы добавить метод orExists, чтобы не перечислять по отдельности для каждого параметра Request::exists('anonymous') || Request::exists('admin_id') etc...
Nickolas Che
@nickoche_twitter
Mar 24 2017 14:32
Здравсвтуйте! Есть маршрут Route::get('abc', 'SomeController@index'); - всё хорошо работает. Но если надо получить содержимое контроллера и обработать в функции, по типу, Route::get('abc', function(){ $content = ......; return $content; });, то тут я туплю и не могу получить $content из того же контроллера. Что-то еще не щелкнуло в мозгу.. Маны читаю, видео смотрю, в гугле гуглю - не нахожу никаких подсказок.. Не могу понять - как?
Oleg Arkhipov
@Oleg-Arkhipov
Mar 24 2017 14:35
@nickoche_twitter а для чего это?
Igor Markin
@markinigor
Mar 24 2017 14:35
@nickoche_twitter Нужно задавать вопрос не "как" а "зачем" и тогда все станет ясно )
Maksim (Ellrion) Platonov
@Ellrion
Mar 24 2017 14:49
Продолжения не будет? а жаль интересно было что же там такое)
Nickolas Che
@nickoche_twitter
Mar 24 2017 15:01
Не, не будет. Пока сам не пойму - зачем всё это )
Спасибо.
KarmaBot
@KarmaBot
Mar 24 2017 15:01
@nickoche_twitter, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Nickolas Che
@nickoche_twitter
Mar 24 2017 15:02
@markinigor, @Oleg-Arkhipov спасибо
KarmaBot
@KarmaBot
Mar 24 2017 15:02
Спасибо (+1) для @igorvdonsk принято! Текущая карма +26.
Спасибо (+1) для @Oleg-Arkhipov принято! Текущая карма +1.
@KarmaBot, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Oleg Arkhipov
@Oleg-Arkhipov
Mar 24 2017 15:05
KarmaBot, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить. - хех
MaximNikoMobios
@MaximNikoMobios
Mar 24 2017 15:14

Всем привет! Как реализовать проверку на уникальность через реквест? У меня пишет "Вы не можете обновить свой слаг, потому что он уже занят", хотя занят именно этим объектом. Нашел в доках вот это

'email' => 'unique:users,email_address,'.$user->id

Но откуда они берут $user???? У меня например статическая страница и он не видит мою переменную. пробовал давать $this->slug, $model->slug...

KarmaBot
@KarmaBot
Mar 24 2017 15:14
@MaximNikoMobios, привет =)
MaximNikoMobios
@MaximNikoMobios
Mar 24 2017 15:30

@MetaDone спасибо
сделал вот так

public function rules()
    {
        return [
            'slug' => 'required|unique:static_pages,slug,' . $this->get('slug') . '|max:255|string',
        ];
    }

$page есть нужным объектом, но валидация все равно не проходит

KarmaBot
@KarmaBot
Mar 24 2017 15:30
Спасибо (+1) для @MetaDone принято! Текущая карма +4.
MaximNikoMobios
@MaximNikoMobios
Mar 24 2017 15:48
Вот это тупость! Оказывается нужно передавать не значение, которое нужно проигнорировать, а id записи, значение которой нужно проигнорировать
Bogdan Savchenko
@yabooodya
Mar 24 2017 15:52
@MaximNikoMobios не id, a primary key ;)
Сергей
@abler98
Mar 24 2017 16:53

Скажите, это очень плохо?

    protected static function boot()
    {
        self::addGlobalScope(new class implements Scope
        {
            public function apply(Builder $builder, Model $model)
            {
                $builder->withCount('offers');
                $builder->selectRaw('IF(auctions.date >= ? OR offers_count > 0, 1, 0) as completed',
                    [Carbon::now()->toDateTimeString()]);
            }
        });

        parent::boot();
    }

P.S. Значение completed требуется для всех запросов, связанных с этой таблицей

Dave
@aios
Mar 24 2017 16:54
ну так себе анонимка в буте)
Сергей
@abler98
Mar 24 2017 16:55
Суть не в этом )
Потом вынесу куда-то, если будет мешать
Dave
@aios
Mar 24 2017 16:57
@abler98 ты про IF?
просто я тут больше ничего не вижу к чему придраться.
типо мол можно вынести в отдельный класс
глобала
Maksim (Ellrion) Platonov
@Ellrion
Mar 24 2017 16:59
Если тебе по нему where не делать то completed лучше акцессором
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 16:59
+
Сергей
@abler98
Mar 24 2017 16:59
@aios я про такой scope в общем, просто у меня ещё парочка подобных будет (подсчёт цены и скидка)
@Ellrion нужно делать where :)
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 16:59
@abler98 а обязательно глобально?
не лучше ли что-то вроде: $model->withCompletedStatus()->anotherScope()->get()?
Сергей
@abler98
Mar 24 2017 17:01
@SerafimArts нужно подумать
@SerafimArts @Ellrion @aios всем спасибо
Oleg Arkhipov
@Oleg-Arkhipov
Mar 24 2017 17:01
А чего бот не засчитал спасибо?
Сергей
@abler98
Mar 24 2017 17:02
Такое часто бывает :(
Alexander
@Dualse
Mar 24 2017 17:03
карма
Dave
@aios
Mar 24 2017 17:03
битрикс
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 17:06
апи опять упало, забейте
Ваня Devium
@webdevium
Mar 24 2017 17:40
silex мацьего))
привет мужики
KarmaBot
@KarmaBot
Mar 24 2017 17:40
Привет, @webdevium! Проходи, присаживайся. В ногах правды нет :)
Сергей
@abler98
Mar 24 2017 18:34
@SerafimArts $model->withCompletedStatus()
Как это понять? with вроде для relations
projct1
@projct1
Mar 24 2017 18:41

подскажите есть ли какой-нибудь хелпер для упрощения следующей конструкции:

<div class="{{ Request::has('param') ? 'has-success' : '' }}">some html</div>

наподобии when в КвериБилдере:

<div class="{{ when(Request::has('param'), 'has-success') }}">some html</div>
Orel
@2byte
Mar 24 2017 18:51
@rorc {{ Request::has('param') or 'has-success' }} ?)
Ваня Devium
@webdevium
Mar 24 2017 18:51
@2byte та не))
projct1
@projct1
Mar 24 2017 18:52
@2byte не катит, выводи единицу
Сергей
@abler98
Mar 24 2017 18:52
@rorc ну так просто напиши функцию when :)
Orel
@2byte
Mar 24 2017 18:53
@rorc тогда добавить свой when
projct1
@projct1
Mar 24 2017 18:53
@abler98 @2byte спс 🤣
KarmaBot
@KarmaBot
Mar 24 2017 18:53
Спасибо (+1) для @abler98 принято! Текущая карма +4.
Спасибо (+1) для @2byte принято! Текущая карма +75.
Alexander
@Dualse
Mar 24 2017 18:57
A {{ Request::get('param') or 'has-success' }} так не работает?
Ваня Devium
@webdevium
Mar 24 2017 18:57
@Dualse сам param выведет
Alexander
@Dualse
Mar 24 2017 18:58
А, блин
Не так понял, что надо
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 19:07
@abler98 public static scopeWithCompletedStatus ;)
Сергей
@abler98
Mar 24 2017 19:13
@SerafimArts понял, спасибо
KarmaBot
@KarmaBot
Mar 24 2017 19:13
Спасибо (+1) для @SerafimArts принято! Текущая карма +707.
JesterAntik
@JesterAntik
Mar 24 2017 21:16
Можно как-то отменить отложенную задачу в очереди?
Fibbenacci Backward
@FibbenacciB_twitter
Mar 24 2017 21:49
зачем docker(ngnix + php) Берет ~1.6 секунду Что бы исполнять ЗАПРОС ? =/
Laravel 5.4
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 21:59
@FibbenacciB_twitter слезай с мака и будет всё отлично
Fibbenacci Backward
@FibbenacciB_twitter
Mar 24 2017 22:00
"слезай с мака" ?
Алексей
@yelrik
Mar 24 2017 22:01
@SerafimArts @FibbenacciB_twitter ага, переходи на что-нибудь более сильно действующее :))
Fibbenacci Backward
@FibbenacciB_twitter
Mar 24 2017 22:01
Mne mozno dzes Latinskim alfabetom? 100 let prosol kogda napisal etu strotcku ^. Nu da
vi dumaete opcache ili 4o?
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 22:03
@FibbenacciB_twitter просьба прочитать правила
Fibbenacci Backward
@FibbenacciB_twitter
Mar 24 2017 22:03
ahh.. nu davai.
uze procital.
Iz za etogo prosil.
Nu togta necevo
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 22:03
@FibbenacciB_twitter язык чата - русский
Fibbenacci Backward
@FibbenacciB_twitter
Mar 24 2017 22:03
nesmogu pisat alfabetom
:)
да
линк можно?
@SerafimArts Когда стрим?
JhaoDa
@jhaoda
Mar 24 2017 22:07
@FibbenacciB_twitter нет, транслитом нельзя
Fibbenacci Backward
@FibbenacciB_twitter
Mar 24 2017 22:08
да
yandex.ru
Mikhail Krassovskiy
@CapeRatel
Mar 24 2017 23:23
Народ привет. На маке кто нибудь встречал такую штуку. Апдейт композера стоит последний. Пых 7.1
composer global require "laravel/installer"
Changed current directory to /Users/caperatel/.composer


  [Symfony\Component\Process\Exception\RuntimeException]  
  The process has been signaled with signal "5".
KarmaBot
@KarmaBot
Mar 24 2017 23:23
Прувет, @CapeRatel!
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:23
@CapeRatel например не ставить инсталлер не пробовал, а создавать нормально проект? =)
Mikhail Krassovskiy
@CapeRatel
Mar 24 2017 23:24
Легко, но вопрос не в обходе а в решении
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:24
маками мало кто пользуется для дева
Mikhail Krassovskiy
@CapeRatel
Mar 24 2017 23:24
На сиере работает, а вот на капитане не захотел
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:24
там ни докер нормально не стартует, через одно место jre работает и т.д.
Mikhail Krassovskiy
@CapeRatel
Mar 24 2017 23:24
Я зашел сюда не похоливарить на тему железа. А спросить о решении проблемы
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:25
не использовать инсталлер
вот решение
Mikhail Krassovskiy
@CapeRatel
Mar 24 2017 23:25
А у лары проблемы с инсталлером?
Падает та композер как я понимаю
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:26
@CapeRatel а кто его знает, им просто никто не пользуется за ненадобностью, по-этому и вряд ли дождёшься ответа
чего и тебе желаю
ну т.е. не дождаться ответа, а просто через create-project нормально поставить
ибо 5 signal - это не юниксовый
я даже предположить не могу
ну там логи посмотреть максимум
а, хотя не, стоп
Mikhail Krassovskiy
@CapeRatel
Mar 24 2017 23:27
ошибка композерская
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:27
это да, композер, я слепой
+
мб self-update для начала?
Mikhail Krassovskiy
@CapeRatel
Mar 24 2017 23:27
да
последняя обнова
Alexander Bobrov
@kca66y
Mar 24 2017 23:28

Доброй ночи, ребята. Подскажите, почему sql не понимает такой записи

$developments[] = DB::table('users')
                ->where('musical_direction', $genre['id'])
                ->join('genres', 'genres.id', '=', 'users.musical_direction')
                ->limit(1)
                ->inRandomOrder()
                ->select('users.id','users.name','users.photo','genres.name')
                ->get();

Пытается достать genres.name из таблицы users(

KarmaBot
@KarmaBot
Mar 24 2017 23:28
Прувет, @kca66y!
Mikhail Krassovskiy
@CapeRatel
Mar 24 2017 23:28
1.4.1
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:28
@CapeRatel в php.ini добавь log_errors
симфонёвая консоль зловредная и не показывает трейс
так что только по логам
@kca66y очень странно
должно доставать из genres
даже в доке это сказано: https://laravel.com/docs/5.4/queries#joins
Alexander Bobrov
@kca66y
Mar 24 2017 23:31
@SerafimArts, вот и я уже, думаю что не так то, уже пол третьего глаза чтоли не видяь
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:31
L5.4?
Alexander Bobrov
@kca66y
Mar 24 2017 23:31
@SerafimArts ща, лефтом попробую, может че получится
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:32
а может не убиваться и тупо связь сделать?
ну т.е. hasMany
или данных 100500?
да нет вроде бы, limit 1
Alexander Bobrov
@kca66y
Mar 24 2017 23:33
не там данных на 700мб
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:34
ну это не много, но да, лучше джоином тогда
@kca66y так что, L5.4?
Alexander Bobrov
@kca66y
Mar 24 2017 23:35
@SerafimArts а, не, 5.1 или 5.2
@SerafimArts вру, 5.3
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:35
в доке по 5.1\5.2 тоже самое
да пофигу
ваще магия
можно по строчке удалять, начиная с рандом ордера и лимита
смотреть что поменяется
Vlad Shcherbin
@VladShcherbin
Mar 24 2017 23:37
может это та же ерунда, когда в селекте не был взят фк
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:38
да не может такого быть, чтобы билдер от миграций зависел
не верю
Vlad Shcherbin
@VladShcherbin
Mar 24 2017 23:38
@SerafimArts у тебя же на прошлом стриме вроде было такое, когда в селекте ключ не был указан
если память не изменяет)
Alexander Bobrov
@kca66y
Mar 24 2017 23:39

хм, вот это работает

 ->select('users.id','users.name','users.photo','genres.id as genre_id')

а это нет

 ->select('users.id','users.name','users.photo','genres.name as genre_name')
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:39
@VladShcherbin не, у меня на прошлом стриме в постгресе лишний orderBy был
@kca66y лооооооол
genres.*? xD
аааа

->select('users.id','users.name','users.photo','genres.name')

У тебя тут конфликт name

Alexander Bobrov
@kca66y
Mar 24 2017 23:41
так я его и переменовываю
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:41
users.id -> id
users.name -> name <------------
users.photo -> photo
genres.name -> name <------------
Alexander Bobrov
@kca66y
Mar 24 2017 23:41
genres.name as genre_name
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:41
а если ещё и users.name as users_name?
ну так, чтоб наверняка
не, ну дурацкое предположение
ну а вдруг
у меня просто нет больше идей больше, и я пойду спать =)
Vlad Shcherbin
@VladShcherbin
Mar 24 2017 23:42
@SerafimArts тыц
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:42
@VladShcherbin а, ну да, что-то такое было
Alexander Bobrov
@kca66y
Mar 24 2017 23:43
@SerafimArts
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'genres.name' in 'field list' (SQL: select `users`.`id`, `users`.`name` as `user_name`, `users`.`photo`, `genres`.`name` as `genre_name` from `users` left join `genres` on `users`.`musical_direction` = `genres`.`id` where `users`.`musical_direction` = 1 order by RAND() limit 1)
из users пытается брать
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:45
@VladShcherbin неее, я там в get забыл поле для связи
@kca66y не правда
genres.name as genre_name
он из жанров и берёт
Alexander Bobrov
@kca66y
Mar 24 2017 23:46
@SerafimArts genres.name as genre_name from users
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:46
from users left join ;)
или...
подними select после join попробуй
join(...)->select
вдруг зависит от этого
Alexander Bobrov
@kca66y
Mar 24 2017 23:47
@SerafimArts ->select('genres.*') сделал так, а он мне только поле id вывел
@SerafimArts а там еще 3 поля есть :D
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:48
а вдруг select идёт от джоина
Vlad Shcherbin
@VladShcherbin
Mar 24 2017 23:48
@kca66y а если селект убрать, работает?
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:48
всё же попробуй его выше указать
Alexander Bobrov
@kca66y
Mar 24 2017 23:49
@SerafimArts 0 реакции, он не видит остальные поля
@SerafimArts только id
Vlad Shcherbin
@VladShcherbin
Mar 24 2017 23:49
ей богу будет проблема с фк)
@kca66y если не выбирать поля (или выбрать все поля), работает запрос?
Alexander Bobrov
@kca66y
Mar 24 2017 23:50
        $data["genres"] = Genre::getAll();

        foreach ($data["genres"] as $genre){

//            $developments['user'] = User::where('musical_direction',$genre['id'])->limit(1)->inRandomOrder()->get();
            $developments[] = DB::table('users')
                ->where('musical_direction', $genre['id'])
                ->join('genres', 'users.musical_direction', '=', 'genres.id')
                ->select('genres.*')
                ->limit(1)
                ->inRandomOrder()
//                ->select('users.*')
//                ->select('genres.name')
                ->get();
//            $developments[] = DB::table('users')
//                ->where('users.musical_direction',$genre['id'])
//                ->leftJoin('genres', 'users.musical_direction', '=', 'genres.id')
//                ->limit(1)
//                ->inRandomOrder()
//                ->select('users.id','users.name as user_name','users.photo','genres.name as genre_name')
//                ->get();
        }

        dd($developments);
Весь запрос
KarmaBot
@KarmaBot
Mar 24 2017 23:50
@kca66y, чтобы показать длинный листинг кода желательно использовать pastebin-сервис, например gist.github.com или laravel.io/bin.
Alexander Bobrov
@kca66y
Mar 24 2017 23:50
упс
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:50
@kca66y да пофигу, ночь, никому не мешаешь
Satmage
@Satmage
Mar 24 2017 23:50
Доброй ночи.
Может кто сталкивался с такого вида ошибкой?
 [Illuminate\Database\QueryException]
  SQLSTATE[HY000]: General error: 1215 Cannot add fore
  ign key constraint (SQL: alter table `tasks` add con
  straint `tasks_type_id_foreign` foreign key (`type_i
  d`) references `task_type` (`id`))
KarmaBot
@KarmaBot
Mar 24 2017 23:50
Привет, @Satmage! Проходи, присаживайся. В ногах правды нет :)
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:51
@kca66y ой мама
зачем так?
Alexander Bobrov
@kca66y
Mar 24 2017 23:51
@SerafimArts ?
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:51
@kca66y в цикле
это делается ровно одним запросом
Alexander Bobrov
@kca66y
Mar 24 2017 23:51
@SerafimArts Уверен?
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:51
сек, читаю
ну ок, одним запросом с подзапросом
ладно, пофигу
xD
Vlad Shcherbin
@VladShcherbin
Mar 24 2017 23:52
да скажите же уж, селект * будет то работать?) интересно же
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:53
@VladShcherbin написали же, только id
Vlad Shcherbin
@VladShcherbin
Mar 24 2017 23:53
@SerafimArts там genres.*
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:53
у меня идиотское предположение
может не в ту БД смотришь?
Alexander Bobrov
@kca66y
Mar 24 2017 23:53
@VladShcherbin ну да, тоже отдает только
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:54
у меня было такое один раз
Satmage
@Satmage
Mar 24 2017 23:54
Ребят мне не поможете?
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:54
@Satmage погугли Cannot add fore
ign key constraint
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:54
@Satmage вот и ответ в первой ссылке =)
Satmage
@Satmage
Mar 24 2017 23:54
@SerafimArts Спасибо )
KarmaBot
@KarmaBot
Mar 24 2017 23:54
Спасибо (+1) для @SerafimArts принято! Текущая карма +708.
Alexander Bobrov
@kca66y
Mar 24 2017 23:54
@SerafimArts Запрос $data["genres"] = Genre::getAll(); работает)
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:55
@Satmage хотя не, нифига
я обманул тебя
нет там ответа
Alexander Bobrov
@kca66y
Mar 24 2017 23:55
@SerafimArts аххахахааха
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:55
@kca66y ага, и выгружает в память всё?
отличное решение+
все 700 метров в память выгружать на каждый запрос
Alexander Bobrov
@kca66y
Mar 24 2017 23:55
@SerafimArts да это не циклом)
Kirill Nesmeyanov
@SerafimArts
Mar 24 2017 23:56
@kca66y ну в любом случае у тебя похерился релейшн форейгн ключа
@kca66y один фиг
любое ->all() - это печаль
я только вчера отхватил, сократил количество запросов с 50 до 7
как раз через all, выгрузил связи в идентити мап
запросы сократились, зато время работы с секунды до 24х поднялось (в дев режиме)