These are chat archives for LaravelRUS/chat

19th
Jan 2017
Artyom Mezin
@Sogl
Jan 19 2017 01:53
Всем привет! Как можно удалить файл после загрузки: return response()->download(storage_path('exports/'. $downloadkey . '.xlsx'), $filename); ?
KarmaBot
@KarmaBot
Jan 19 2017 01:53
Прувет, @Sogl!
Andrei Sosnov
@atehnix
Jan 19 2017 02:57
@Sogl запоминать расположение и удалять по крону раз в сутки.
Ну или просто полностью чистить директорию по крону, если там только временные хранятся.
Хотя... тогда кому-то особо неудачливому может неповезти при скачивании во время работы крона.. ))
Andrei Sosnov
@atehnix
Jan 19 2017 03:06
@Sogl а еще есть вариант с Terminable Middleware.
Artyom Mezin
@Sogl
Jan 19 2017 03:12
@atehnix А как юзать эту штуку в контроллере? чет пока не пойму =)
Andrei Sosnov
@atehnix
Jan 19 2017 03:13
@Sogl какую?
Artyom Mezin
@Sogl
Jan 19 2017 03:13
@atehnix Terminable Middleware
Andrei Sosnov
@atehnix
Jan 19 2017 03:15
@Sogl А зачем ее в контроллере юзать? Это ж мидлваря. Они отрабатывают до или после контроллера. В данном случае нужно "после".
Artyom Mezin
@Sogl
Jan 19 2017 03:16
@atehnix Нашел как легко сделать... в конце добавляем ->deleteFileAfterSend(true); и все! Красота ))
Andrei Sosnov
@atehnix
Jan 19 2017 03:17
@Sogl А, ну тоже неплохо. Все уже придумано до нас, как говорится)
Artyom Mezin
@Sogl
Jan 19 2017 03:19
@atehnix Первый проект на Ларе.. очень нравится как все сделано. Где раньше костылил, тут есть целый набор вспомогательных функций на все случаи жизни.
rammtw
@rammtw
Jan 19 2017 05:37
как сделать перенос строки в blade?
{{$item->data ? "Вот такой \n перенос не работает" : "unknown"}}
Andrei Sosnov
@atehnix
Jan 19 2017 05:38
@rammtw <br>? О_о
rammtw
@rammtw
Jan 19 2017 05:40
@atehnix в двойных кавычках?
Artyom Mezin
@Sogl
Jan 19 2017 05:42
@rammtw А так пробовал: {!! $item->data ? "Вот такой \n перенос не работает" : "unknown" !!} ?
rammtw
@rammtw
Jan 19 2017 05:44
@Sogl не работает)
Artyom Mezin
@Sogl
Jan 19 2017 05:48
@rammtw {!! nl2br(e($something)) !!}
rammtw
@rammtw
Jan 19 2017 05:51
@Sogl спасибо )
KarmaBot
@KarmaBot
Jan 19 2017 05:51
Спасибо (+1) для @Sogl принято! Текущая карма +1.
Andrei Sosnov
@atehnix
Jan 19 2017 06:01
наркоманы..)
@if($item->data)
    Вот такой <br> 
    перенос работает
@else
    unknown
@endif
Да и вообще, в топку этот blade..)
Artyom Mezin
@Sogl
Jan 19 2017 06:03
@atehnix А если это из БД данные с кучей переносов? )
Maksim (Ellrion) Platonov
@Ellrion
Jan 19 2017 06:52
@Sogl nl2br
ну или pre)
@rammtw причем тут блейд. Ты html сначала выучи)
Alexander
@Dualse
Jan 19 2017 06:59
@atehnix Онли php или фронт отдельно от бэкенда?)
Andrei Sosnov
@atehnix
Jan 19 2017 07:01
@Dualse в идеале - только json (а остальное меня не волнует) :)
Nikita Stenin
@stenin-nikita
Jan 19 2017 07:15
Всем привет! Возник вопрос следующего характера. На сайте есть подразделения и сотрудники. Сотрудник может занимать должность в нескольких подразделениях и иметь несколько должностей в одном подразделении. Вроде все просто, но не могу для себя решить как лучше спроектировать БД и какие отношения laravel использовать.
KarmaBot
@KarmaBot
Jan 19 2017 07:15
Прувет, @stenin-nikita!
Dave
@aios
Jan 19 2017 07:18
podrazdeleniya <- hasMany dolgnost <-BelongsToMany-> sotrudnik
ну это что бы далеко не ходить.
а не - первая тоже получается belongsToMany
Nikita Stenin
@stenin-nikita
Jan 19 2017 07:25
@aios Я правильно понял, что тут получится 4 таблицы? Подразделения, Должности, Сотрудники и pivot таблица где есть sotrudnik_id, dolzhnost_id, podrazdelenie_id?
Alexander
@Dualse
Jan 19 2017 07:34
@stenin-nikita Нет
@aios А если одно должность может быть в нескольких подразделениях?
Nikita Stenin
@stenin-nikita
Jan 19 2017 07:37
@Dualse тут в данном случае одна должность не может быть в нескольких подразделениях
Alexander
@Dualse
Jan 19 2017 07:39
@stenin-nikita А, ну тогда совет Давида подходит. Только ты его не совсем правильно понял
Nikita Stenin
@stenin-nikita
Jan 19 2017 07:45
Вот такая мысль есть
1.jpg
projct1
@projct1
Jan 19 2017 07:45
@jhaoda ну щас то уже можно 5.4 полноценно юзать, даже если как бы "релиза" не было?
Alexander
@Dualse
Jan 19 2017 07:47
@stenin-nikita сотрудники-пивот-должности-пивот-подразделения
Anton Vorontsov
@symbios-zi
Jan 19 2017 08:03
@stenin-nikita не называй так таблицы о_О
Nikita Stenin
@stenin-nikita
Jan 19 2017 08:06
@symbios-zi я так лишь для примера назвал)
Dave
@aios
Jan 19 2017 08:16
@symbios-zi это он с моей подачи - я там намекнул "что бы далеко не ходить" но он походу не понял.
Soprun Vladislav
@vlsoprun
Jan 19 2017 08:19
Здорова мужики!
NoViKoFF
@AndrewNovikof
Jan 19 2017 08:41
@danilchican @Dualse спасибо)
KarmaBot
@KarmaBot
Jan 19 2017 08:41
Спасибо (+1) для @danilchican принято! Текущая карма +19.
Спасибо (+1) для @Dualse принято! Текущая карма +121.
am0nshi
@am0nshi
Jan 19 2017 08:43
@stenin-nikita русские таблицы? о_О серьезно?
Alexander
@Dualse
Jan 19 2017 08:44
@am0nshi транслит вообще то -_-
alexspi
@alexspi
Jan 19 2017 10:28
@mezhevikin https://toster.ru/q/104469 , а чем тебя не устраивает через свой сервак (smtp) слать?
Mezhevikin Alex
@mezhevikin
Jan 19 2017 10:35
@alexspi я просто не имел опыта настройки smtp на своем сервере, может какой-то конкретный мануал посоветуешь?
alexspi
@alexspi
Jan 19 2017 10:56
Arsen Soroka
@arsen-s
Jan 19 2017 11:50
привет всем
env работает в блейде?
т.е я конечно проверил 100раз, но у меня оно не работает
KarmaBot
@KarmaBot
Jan 19 2017 11:50
@arsen-s и тебе не хворать :)
Soprun Vladislav
@vlsoprun
Jan 19 2017 11:51
@arsen-s зачем?
Arsen Soroka
@arsen-s
Jan 19 2017 11:51
новый проект получил где каждая переменная(per_page, max_page ....) вынесена в env
во всех шаблонах env('balbla')
и оно не работает нигде, везде null
Soprun Vladislav
@vlsoprun
Jan 19 2017 11:52
@arsen-s сделай конфиг.....
Dave
@aios
Jan 19 2017 11:52
@arsen-s сделай хелпер.
Arsen Soroka
@arsen-s
Jan 19 2017 11:53
ппц, прийдется выносить все это в конфиги
Artur Gafurov
@assurrussa
Jan 19 2017 11:53
@arsen-s зачем это в env выносить?
Arsen Soroka
@arsen-s
Jan 19 2017 11:53
ну не упыри!? заюзать env в блейдах
Soprun Vladislav
@vlsoprun
Jan 19 2017 11:53
почему "ппц", это как бы логично.....
Arsen Soroka
@arsen-s
Jan 19 2017 11:53
@assurrussa да я хз почему так сдалали
@vlsoprun да я знаю что логично, просто там много надо будет выносить
JhaoDa
@jhaoda
Jan 19 2017 11:54
Потому что дятлы и доку не читали, про кэширование конфигов не знают
Soprun Vladislav
@vlsoprun
Jan 19 2017 11:54
@jhaoda :smile:
Dave
@aios
Jan 19 2017 11:56
@arsen-s я тебе говорю сделай хелпер
Alexander
@Dualse
Jan 19 2017 11:57
А сделать файл конфигураций и в нем указать, что смотреть в .env?
Dave
@aios
Jan 19 2017 11:59
@Dualse слушай а не плохая идея
типо $key => env($key);
и тогда бы полчилось config('someconfig.somekey')== env('somekey')
правда помоему это не работает =((
MetaDone
@MetaDone
Jan 19 2017 12:02
@arsen-s только что сделал в шаблоне {{env("DB_CONNECTION")}}
вывело pgsql
за такое наверно надо отрывать руки и растворять их в кислоте
Arsen Soroka
@arsen-s
Jan 19 2017 12:03
@MetaDone у меня php 7.1 и у меня null, на сервере хз какая но оно работает
@MetaDone у тебя 5.6?
MetaDone
@MetaDone
Jan 19 2017 12:03
@arsen-s нет, 7.0.8
@arsen-s {{env("DB_CONNECTION","ololo")}} должно сработать. но я не особо понимаю логику выноса именно per_page, max_page
Arsen Soroka
@arsen-s
Jan 19 2017 12:06
PHP 7.0.8-0ubuntu0.16.04.2 (cli) ( NTS )
и у меня null
MetaDone
@MetaDone
Jan 19 2017 12:06
в файле .env есть эти переменные?
Arsen Soroka
@arsen-s
Jan 19 2017 12:07
конечно))
MetaDone
@MetaDone
Jan 19 2017 12:07
php artisan config:clear
и заново надо попробовать
Alexander
@Dualse
Jan 19 2017 12:07
@arsen-s у меня работает
PHP 7.0.14-2+deb.sury.org~xenial+1 (cli) ( NTS )
MetaDone
@MetaDone
Jan 19 2017 12:13
@arsen-s ну как?
Arsen Soroka
@arsen-s
Jan 19 2017 12:17
@MetaDone на 7.1 не работает, на 7.0.8 заработало
MetaDone
@MetaDone
Jan 19 2017 12:18
@arsen-s на встроенном сервере работает? или apache/nginx и т.п?
ну или можно попробовать
sudo service php7.0-fpm restart
и рестартнуть сервер
Arsen Soroka
@arsen-s
Jan 19 2017 12:19
там mac os
MetaDone
@MetaDone
Jan 19 2017 12:19
оу
Maksim
@Stereotip42
Jan 19 2017 12:19

Друзья, помогите пожалуйста.
Создал оповещение (Notification), установил канал (всё на redis).

public function broadcastOn()
{
        return ['notification-channel'];
}

Redis подписывается на канал, и соответственно услышанное дальше проталкивают сокеты:

redisNotification.subscribe('notification-channel', function (err, count) {
    console.log('Error redis: ' + err);
});

redisNotification.on('message', function (channel, message) {
    console.log('NOTIFICATION: ' + message);
    io.emit('send-notification-to-client', 'NOTIFICATION FROM REDIS: ' + message);
});

И всё вроде бы хорошо, всё принимаю и разадю, но не могу понять, как мне ограничить доступ к определенному каналу, а именно BroadcastServiceProvider не ловит передачи по этому каналу: (не отрабатывает)

Broadcast::channel('notification-channel', function () {
            dd('im here');
});

Чего не хватает для счастья, не подскажите?

MetaDone
@MetaDone
Jan 19 2017 12:20
@arsen-s тогда как-то рестартнуть там веб-сервер и php7.0-fpm
Роман Сохарев
@greabock
Jan 19 2017 13:07
ребят, кто кодит в idea (шторм, пайчарм и всем таком). У всех ide задыхается и начинает глючить на es6?
работаю пару часов, а потом просто ide перестает понимать синтаксис
при том, с es5 таких проблем не было никогда
JhaoDa
@jhaoda
Jan 19 2017 13:13
@greabock не до такой степени, но да, замечал, с тормозами подсветка начинает работать
Роман Сохарев
@greabock
Jan 19 2017 13:14
@jhaoda кек, гиттер жжот. Я вообщето в vue чат писал )
извиняюсь за оффтоп
orionych
@orionych
Jan 19 2017 13:34
@greabock а что есть канал vue на русском?
Mikhail Sychev
@snutworks
Jan 19 2017 14:30
Всем привет, мне надо сделать отсортированную по имени и фамилии выборку пользователей, причем, вид должен быть следующий по имени+фамилии, имени, фамилии, без фамилии и имени по юзернейму. Имя и фамилия в профайле, поэтому я джойню к юзеру профайл. Итого я делаю 4 отсортированных выборки и объединяю через юнион, лара ругается, что количество полей селекта не совпадает. Погуглил ничего адекватного по юниону с джойном не нашел, что я делаю не так?
KarmaBot
@KarmaBot
Jan 19 2017 14:30
О! @snutworks! Сто лет не виделись!) Как жизнь молодецкая? Рассказывай :)
Maksim (Ellrion) Platonov
@Ellrion
Jan 19 2017 14:40

премию тому кто распарсит:

причем, вид должен быть следующий по имени+фамилии, имени, фамилии, без фамилии и имени по юзернейму.

Ivan
@Hunternnm
Jan 19 2017 14:41
@Ellrion я 3 раза перечитывал и сдался
Mikhail Sychev
@snutworks
Jan 19 2017 14:42
@Ellrion у пользователя в профайле могут быть указаны имя и фамилия, но он их может и не указывать, я хочу отсортировать всех пользователей чтобы сначала отображались все у кого есть и имя и фамилия, после них у кого есть только имя, потом только фамилия, и последними шли пользователи без фамилии и имени отсортированные по юзернейму
Alexander
@Dualse
Jan 19 2017 14:54
@snutworks А ты пробовал прочитать свое первое сообщение?)
am0nshi
@am0nshi
Jan 19 2017 14:57
@snutworks UNION требует одинаковую структуру от всех последующих запросов. если ты используешь разные источники данных (таблицы) то потрудись сравнить что они возвращают
Mikhail Sychev
@snutworks
Jan 19 2017 15:02
@am0nshi я это понимаю и структура у меня должна получатся вроде как одинаковая:
$fullnameQuery = User::sortable()->join('user_profiles as profile', 'users.id', '=', 'profile.user_id')
        ->whereNotNull('profile.firstname')
        ->WhereNotNull('profile.lastname')
        ->select(['users.*', DB::raw('CONCAT(profile.firstname, " ", profile.lastname) as fullname')])
        ->orderBy('fullname', $asc)
        ->groupBy('users.id');

$nameQuery = User::sortable()->join('user_profiles as profile', 'users.id', '=', 'profile.user_id')
        ->whereNotNull('profile.firstname')
        ->WhereNull('profile.lastname')
        ->select(['users.*', DB::raw('CONCAT(profile.firstname, "") as fullname')])
        ->orderBy('fullname', $asc)
        ->groupBy('users.id');

$usersQuery = $fullnameQuery->union($nameQuery);
@Dualse да согласен, странновато получилось, отсортированные по алфавиту конечно же
Mikhail Sychev
@snutworks
Jan 19 2017 15:09
@am0nshi источники то у меня одинаковые
MetaDone
@MetaDone
Jan 19 2017 15:20
@snutworks да что такое
SELECT `users`.* FROM `users` LEFT JOIN `profile` ON `users`.`id`=`profile`.`id` GROUP BY `users`.`id` ORDER BY TRIM(CONCAT(profile.first_name, " ", profile.last_name)) DESC
JhaoDa
@jhaoda
Jan 19 2017 15:20
@MetaDone а можно было просто сообщение отредактировать...
MetaDone
@MetaDone
Jan 19 2017 15:21
@jhaoda сорян, я тут нечастый гость
Mikhail Sychev
@snutworks
Jan 19 2017 15:22
@MetaDone не понял тебя
MetaDone
@MetaDone
Jan 19 2017 15:26

@snutworks это sql запрос, наверно должен так получиться
на скорую руку набросал базу и 2 таблицы - users и profile
рандомно заполнил и вот так вытащилось

SELECT `users`.* FROM `users` LEFT JOIN `profile` ON `users`.`id`=`profile`.`id` GROUP BY `users`.`id` ORDER BY TRIM(CONCAT(profile.first_name, " ", profile.last_name)) DESC, profile.first_name DESC

и получилось вроде норм, как здесь - Выделение_050.png

Mikhail Sychev
@snutworks
Jan 19 2017 15:27
@MetaDone разобрался, да, это так, спасибо, но есть нюанс мне надо еще и русские имена впереди ставить
MetaDone
@MetaDone
Jan 19 2017 15:27
@snutworks это чуть сложнее
Mikhail Sychev
@snutworks
Jan 19 2017 15:28
@MetaDone поэтому я и хотел решать через группы и регэксп
MetaDone
@MetaDone
Jan 19 2017 15:31
@snutworks проверил - русские имена впереди идут
Mikhail Sychev
@snutworks
Jan 19 2017 15:32
@MetaDone тогда я что-то не так делаю, сейчас разберусь
MetaDone
@MetaDone
Jan 19 2017 15:50

@snutworks еще способ

SELECT `users`.* FROM `users` LEFT JOIN `profile` ON `users`.`id` = `profile`.`id` GROUP BY `users`.`id` ORDER BY TRIM( CONCAT( `profile`.first_name, " ", `profile`.last_name ) ) DESC, `profile`.first_name<'а',`profile`.first_name desc

profile.first_name<'а' - а кириллическая

Andy Melentev
@Sinersis
Jan 19 2017 15:56
Всем привет! Народ кто чем пользуеться для конекта с Firebase?
KarmaBot
@KarmaBot
Jan 19 2017 15:56
@Sinersis, привет =)
Дмитрий Мязин
@d4c0
Jan 19 2017 16:02

Ребята, пакет predis/predis, пытаюсь использовать unix domain socket,

'redis' => [
  'cluster' => false,
  'default' => [
    'scheme' => 'unix',
    'path' => '/home/dmitry/redis.sock',
    'read_write_timeout' => 0,
  ],
],

Предварительно создаю файл redis.sock, запускаю - пишет:

[Predis\Connection\ConnectionException]
Connection refused [unix:/home/dmitry/redis.sock]

Почему рефьюзит соединение? Права раздал, тут проблем быть не может. (на путь не обращайте внимание, просто тест)

Mikhail Sychev
@snutworks
Jan 19 2017 16:18
@MetaDone сортировка двусторонняя, при не меняющемся порядке групп, поэтому и юнион
Mikhail Sychev
@snutworks
Jan 19 2017 17:18
@MetaDone забыл сказать что я еще и пагинируюсь, вероятно проблема в этом
Mikhail Sychev
@snutworks
Jan 19 2017 17:51
В общем да, проблема была в пагинации
MetaDone
@MetaDone
Jan 19 2017 18:00
@snutworks завелось?
Mikhail Sychev
@snutworks
Jan 19 2017 18:10
@MetaDone при не коробочном создании пагинатора завелось, но тоже не так как я хотел, сейчас пишу вьюху со всеми условиями которую буду пагинировать, лучше не придумал
@jhaoda скажешь что-нибудь про юнион и пагинацию?
MetaDone
@MetaDone
Jan 19 2017 18:17
@snutworks можно на запрос посмотреть?
Mikhail Sychev
@snutworks
Jan 19 2017 18:22
@MetaDone laravel/framework#16261 у меня не заработает, у меня 5.2 надо обновляться
@MetaDone или я что-то не так понял
DonPrus
@DonPrus
Jan 19 2017 19:01
Есть довольно странный вопрос, хочу использовать illuminate/container для DI в одном большом и старом проекте, но не переписывая все на Laravel. У Symfony есть по сути отдельный пакет, https://symfony.com/doc/current/components/dependency_injection.html который без проблем могу прикрутить. А есть где-нибудь пример, как бы я мог подключить illuminate/container, без всего фреймворка?
JhaoDa
@jhaoda
Jan 19 2017 19:05
@DonPrus посмотреть, как это делает ларавел и сделать так же?
DonPrus
@DonPrus
Jan 19 2017 19:07
Фу фу, он много лишнего делает. Это как бОльшая часть мануалов по React, ради пары действительно нужных строчек когда читаешь и как стили он пишет и тд.
JhaoDa
@jhaoda
Jan 19 2017 19:07
Впрочем, полагаю, что достаточно $container = new Container()
@DonPrus ну-ка, расскажи, где и чего много делает ларавел для создания контейнера?
DonPrus
@DonPrus
Jan 19 2017 19:10
@jhaoda , перефразирую - он не только создает контейнер :)
JhaoDa
@jhaoda
Jan 19 2017 19:10
@DonPrus а что ещё?
DonPrus
@DonPrus
Jan 19 2017 19:15
Прежде всего:
    /**
     * Create a new Illuminate application instance.
     *
     * @param  string|null  $basePath
     * @return void
     */
    public function __construct($basePath = null)
    {
$this->registerBaseBindings();
$this->registerBaseServiceProviders();
$this->registerCoreContainerAliases();
  }
JhaoDa
@jhaoda
Jan 19 2017 19:16
@DonPrus и? Это уже чисто ларавельные штуки, зачем на них смотреть?
Если открыть все эти методы, то увидим, что они просто работают с контейнером же
@DonPrus короче, :point_up: 20 января 2017 г., 02:07 — пробовал?
DonPrus
@DonPrus
Jan 19 2017 19:19
Угумс, в процессе. В принципе, я думал есть у кого-то похожий опыт описаный в кратенькой статье. Если нет, я раскопаю конечно. @jhaoda Спасибо )
KarmaBot
@KarmaBot
Jan 19 2017 19:19
@DonPrus, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
nitrogenium
@nitrogenium
Jan 19 2017 19:41

Есть таблица с пользователями, есть таблица с фотографиями этих пользователей.

Модели:
User
Photo

Фотографии хранятся в папке с номером региона пользователя.

Т.е. хранятся по пути /public/storage/[user_region_id]/filename.jpg

Хочу находить все фото пользователя передавать в представление а там использовать что то типа $photo->full_image_path
Как мне из модели Photo возвращать путь в котором есть user_region_id? Какой лучший способ на ваш взгляд

а проще сразу хранить полный путь
Mikhail Sychev
@snutworks
Jan 19 2017 20:01
@greabock @nitrogenium в модели делаем поле префикс, которое тыркаем из геттера генерируя полный путь
в этом случае надо только имена хранить, остальное берется из связей
projct1
@projct1
Jan 19 2017 20:59
подскажите плз, можно ли в валидаторе настроить вот что:
'status_id | order.status_id' => 'required'
то есть, проверяемое поле может быть либо в объекте order, либо в корне
JhaoDa
@jhaoda
Jan 19 2017 21:02
Есть желающие ответить гражданину культурно?
fakefakefake12
@fakefakefake12
Jan 19 2017 21:04

Эм...

$message = Message::create([
    'room_id' => $request->room_id,
    'user_id' => $request->user()->id,
    'content' => $request->input('content')
])->load('user');

broadcast(new ChatMessageSent($message));

юзаю redis+laravel-echo. В респонсе с отношением возвращается, а в мессаге эвента без. ЧЯДНТ? (type hint в конструкторе евента нет :/)

Mikhail Sychev
@snutworks
Jan 19 2017 21:06
@jhaoda гражданину rorc?
JhaoDa
@jhaoda
Jan 19 2017 21:07
@snutworks ага
Mikhail Sychev
@snutworks
Jan 19 2017 21:07
@jhaoda ну я могу
JhaoDa
@jhaoda
Jan 19 2017 21:07
@snutworks ну так ответь
@MetaDone поитогу делаю 4 выборки, мержу, слайсю, генерю пагинатор, но это буэ
JhaoDa
@jhaoda
Jan 19 2017 21:08
@snutworks неправильный ответ
Mikhail Sychev
@snutworks
Jan 19 2017 21:08
@jhaoda почему?
@jhaoda required_if тогда
JhaoDa
@jhaoda
Jan 19 2017 21:09
@snutworks потому что прочитай вопрос ещё раз и прочитай, что делает правило
Mikhail Sychev
@snutworks
Jan 19 2017 21:10
@jhaoda я прочитал дважды, и прочитал доку, не понимаю почему не прав, объясни пожалуйста
JhaoDa
@jhaoda
Jan 19 2017 21:10
Ладно, я выпью узбагоина и попробую
@rorc нет, нельзя
О, получилось
Mikhail Sychev
@snutworks
Jan 19 2017 21:10
@jhaoda ну | там точно не должно быть, это 2 правила
projct1
@projct1
Jan 19 2017 21:11
@snutworks ну это символьно просто изобразил, типа ИЛИ
Mikhail Sychev
@snutworks
Jan 19 2017 21:11
@rorc понимаешь ли, гражданин JhaoDa воспринимает написанное буквально
Uladzislau Danilchyk
@danilchican
Jan 19 2017 21:12
@snutworks не думаю
Mikhail Sychev
@snutworks
Jan 19 2017 21:12
@danilchican ну тогда мои спиритические способности всё
JhaoDa
@jhaoda
Jan 19 2017 21:13
@snutworks окай, давай, напиши правило, как ты это видишь
Mikhail Sychev
@snutworks
Jan 19 2017 21:14
@jhaoda вот так вижу
[
    'status_id'  => 'required_without:order.status_id',
    'order.status_id' => 'required_without:status_id'
]
JhaoDa
@jhaoda
Jan 19 2017 21:15
@snutworks а гражданин rorc хочет эти две строки превратить в одну
Mikhail Sychev
@snutworks
Jan 19 2017 21:15
@JhaoDa не думаю
JhaoDa
@jhaoda
Jan 19 2017 21:15
@rorc ?
fakefakefake12
@fakefakefake12
Jan 19 2017 21:16
Как я понял, то лучше отдельно юзера в эвент послать? Какой-то трабл с eager loading в мессаг (обьект) эвента.
projct1
@projct1
Jan 19 2017 21:16
@snutworks @jhaoda ну да, в две строчки проверять тока
хотя я уже разобрался, неверно изначально задача была поставлена)
@jhaoda @snutworks спс за стремление помоч))
KarmaBot
@KarmaBot
Jan 19 2017 21:16
Спасибо (+1) для @jhaoda принято! Текущая карма +1418.
Спасибо (+1) для @snutworks принято! Текущая карма +13.
JhaoDa
@jhaoda
Jan 19 2017 21:16
@rorc а ты хотел бы одной строкой?
projct1
@projct1
Jan 19 2017 21:16
@jhaoda да
JhaoDa
@jhaoda
Jan 19 2017 21:16
@snutworks ответ получен?
Понимать буквально — это лучшее, что позволяет избежать разночтений и лучшее, что я могу бесплатно. Анализатор с нечёткой логикой включается только за деньги. Чего и всем вам желаю.
Mikhail Sychev
@snutworks
Jan 19 2017 21:19
@rorc @jhaoda а ну тогда извольте
projct1
@projct1
Jan 19 2017 21:19
@jhaoda ну это же одновременно и не означает, что нельзя предлагать другие варианты решения, что гражданин @shutworks и сделал )
JhaoDa
@jhaoda
Jan 19 2017 21:20
@rorc ну так я и предложил желающим, потому как я бы просто тебя послал. И даже не в доку
Mikhail Sychev
@snutworks
Jan 19 2017 21:20
@rorc @jhaoda я изначально осознавал как работают правила и что первое это ключ в запросе, так что какого:))
JhaoDa
@jhaoda
Jan 19 2017 21:22

@snutworks @rorc вы оба двое как тот Изя из анекдота:

А правда, шо Изя выиграл машину в лотерею?
Таки да. Только не машину, а шубу, не в лотерею, а в карты, и не выиграл, а проиграл.

Неправильный вопрос, неправильный ответ, но в итоге все довольны :)
projct1
@projct1
Jan 19 2017 21:23
^^
кстати новый вопрос образовался...
как сэмулировать FormRequest, чтобы вручную провалидировать указанный реквест?
обычно же в метод контроллера подаётся например OrderRequest и автоматом ларка валидирует и не запускает метод контроллера даже
а у меня такая ситуация, что как бы на контроллер один реквест подаётся, и потом внутри этого метода контроллера надо запустить и провалидировать как бы другой реквест
projct1
@projct1
Jan 19 2017 21:29
@snutworks не подскажешь ли часом?)
пробовал (new SelectionRequest($request->selection))->validate(); но не пашет :(
JhaoDa
@jhaoda
Jan 19 2017 21:36
@rorc форм реквесты устроены так, что валидируются сразу после создания. Чем тебе это поможет? И создавать их надо через контейнер: app(SelectionRequest::class)
projct1
@projct1
Jan 19 2017 21:45
@jhaoda у меня есть две сущности, одна принадлежит к другой
редактировать вторую можно двумя способами, отдельно и когда редактируешь основную сущность
поэтому как бы не хочется клонировать в основной сущности правила типа 'selection.status_id' => 'required_if:status.parent_id,3',
а хочется как бы каждую сущность пропускать через свой FormRequest

@jhaoda вот у меня правила для модели Selection

        return [
            'status_id' => 'required',
            'fio' => 'required|min:2',
            'phone' => 'required|regex:~^[94]\d{9}$~',
            'bron_id' => 'required_if:status_id,2|exists:orders,id'
        ];

их же надо проверить, когда я сохраняю модель Order, у которой свои правила

полулчается мне надо будет дублировать все правила в FormRequest Order с префиксом selection.
или я мб неверно мыслю :(
@jhaoda направь на путь истинный :)
projct1
@projct1
Jan 19 2017 21:53
кстати можно было написать так, чтобы 2 реквеста запустились public function updateStatus(Order $order, OrderStatusRequest $request, SelectionRequest $request1)
но проблема в том, что тут для Selection нужные поля находятся под ключём selection, а правила прописаны без этого префикса, поэтому всегда будет этот реквест фейлиться (
projct1
@projct1
Jan 19 2017 22:04
пытаюсь так сделать, но редиректит 302 почему-то
                $selectionRequest = new SelectionRequest([], $request->selection);
                $this->validate($selectionRequest, $selectionRequest->rules(), $selectionRequest->messages());
projct1
@projct1
Jan 19 2017 22:20
@jhaoda как ты и говорил, тут подтвердили https://github.com/laravel/framework/issues/7995#issuecomment-82269811
но как мне указать, чтобы данные из реквеста брались с префиксом selection.?
как пользоваться вторым аргументом $parameters метода app()? пробовал app(SelectionRequest, $request->selection); и app(SelectionRequest, ['request' => $request->selection]); всё равно не выходит, все правила фейляться, так как валидируемые данные хранятся под ключём selection. :(
Vladyslav Gaysyuk
@mikield
Jan 19 2017 23:09
Привет ребята :)
KarmaBot
@KarmaBot
Jan 19 2017 23:09
Не узнал тебя, @mikield. Богатым будешь :)
JhaoDa
@jhaoda
Jan 19 2017 23:22
@mikield ты чисто поздороваться?
Vladyslav Gaysyuk
@mikield
Jan 19 2017 23:22
@jhaoda спросить очень важный вопрос
JhaoDa
@jhaoda
Jan 19 2017 23:22
@mikield так и чо не спрашиваешь?
Vladyslav Gaysyuk
@mikield
Jan 19 2017 23:23
Я уже второй день мучаю мозг вопросом о том как получить пользователей подписанных на канал не подписываясь на него
Я понимаю конструкцию Echo.join().here()
Но конечно же join меня законектит к каналу
А я хочу показать количество юзеров в канале чата еще до того как пользователь вошел в канал
@jhaoda есть мысли?)