These are chat archives for LaravelRUS/chat

26th
Jul 2017
Dave
@aios
Jul 26 2017 01:00
намного веселее
Sergey Titov
@Nuboskill_twitter
Jul 26 2017 05:36

Всем привет, почему может не работать detach? При этом attach работает, магия прям

Связь

public function parameters() {
        return $this->belongsToMany('App\Parameter')->withPivot('id','value','price');
 }

Попытка удалить записи из связующей таблицы, где $delParameters - массив идентификаторов записей в связующей таблице
$product->parameters()->detach($delParameters);

Ошибок не выбивает никаких, массив точно не пустой, логи пустые, но удалять ни в какую не хочет, не знаю уже куда и копать :(

Тоже самое с updateExistingPivot, не обновляет существующую запись =/

$product->parameters()->attach($id, [ 'value' => $value, 'price' => $price ]);

KarmaBot
@KarmaBot
Jul 26 2017 05:36
Прувет, @Nuboskill_twitter!
Sergey Titov
@Nuboskill_twitter
Jul 26 2017 05:49
кажется понял, туда надо пихать айдишник параметра, а не айдишник записи связующей таблицы, но мне такой вариант не подходит, придется по старинке
всем спасибо за внимание
Evgeny Stefanenko
@KomAuras
Jul 26 2017 06:22
привет. сделал миграцию создал таблицы. описал ключевое поле и т.д. Вопрос. остальные поля тоже описывать в модели типа protected $myfield; и т.д. ? вроде и без этого работает но тогда не будет подстановки имени поля... как правильно?
KarmaBot
@KarmaBot
Jul 26 2017 06:22
Приветствую тебя, @HectroPrima!
Alexander
@Dualse
Jul 26 2017 06:23
@HectorPrima имеешь ввиду не будет подсказки когда вводешь $myModel->fieldName?
Evgeny Stefanenko
@KomAuras
Jul 26 2017 06:24
@Dualse , ну да.
Alexander
@Dualse
Jul 26 2017 06:24
@HectorPrima ide-helper поставь
Evgeny Stefanenko
@KomAuras
Jul 26 2017 06:24
как бы если много полей можно и запутаться
Evgeny Stefanenko
@KomAuras
Jul 26 2017 06:24
@Dualse , а откуда ide-helper поймет про поля? про все если они в модели не описаны а в таблице есть?
@Dualse а так я знаю про хелпер. просто не ставил его еще
@Dualse , в справке не говорится типа все поля из таблицы опишите в модели. вот в чем загвоздка. но при этом лара с ними работает.
Sergey
@shummm
Jul 26 2017 06:27
Доброе утро! Что лучше использовать для вывода данных из нескольких таблиц joinЫ или with() ?
Alexander
@Dualse
Jul 26 2017 06:28
@HectorPrima их не надо описывать, ide-helper сгенерирует phpdoc вместо тебя
это к вопросу, откуда helper узнает какие поля есть у таблицы
Evgeny Stefanenko
@KomAuras
Jul 26 2017 06:29
@Dualse , спасибо. буду дальше смотреть :)
KarmaBot
@KarmaBot
Jul 26 2017 06:29
Спасибо (+1) для @Dualse принято! Текущая карма +155.
Sergey Titov
@Nuboskill_twitter
Jul 26 2017 07:05
Как можно реализовать триггер удаления изображений при удалении записи из бд? Например, есть таблица pictures, там в поле dir есть путь до изображения (добавить asset() и будет полный путь). Вот как можно на стороне ларавел реализовать, чтобы при удалении этой записи удалялось и изображение? Чтобы не чистить ручками
Ваня Devium
@webdevium
Jul 26 2017 07:06
@Nuboskill_twitter события для этого есть.
Sergey Titov
@Nuboskill_twitter
Jul 26 2017 07:07
Можете подсказать в какую сторону копать? Это в модели надо будет делать? Буду благодарен за статейки :)
Ваня Devium
@webdevium
Jul 26 2017 07:07
@Nuboskill_twitter ты до сих пор хранить изображения у себя на сервере? Тогда мы идем к тебе))
@Nuboskill_twitter ща
Sergey Titov
@Nuboskill_twitter
Jul 26 2017 07:07
мы их охраняем у себя :D
Ваня Devium
@webdevium
Jul 26 2017 07:07
@Nuboskill_twitter от кого вы их охраняете, от себя? У вас много места, у вас неубиваемый веник?
Sergey Titov
@Nuboskill_twitter
Jul 26 2017 07:10
просто изображений немного, весят мало, но мусорить не хочу ими
Ваня Devium
@webdevium
Jul 26 2017 07:13
@Nuboskill_twitter там есть два события: deleting, deleted
разница в том, что первое - это PREсобытие, второе - POSTсобытие
то есть, до удаления сущности и после удаления сущностей
так вот, логика такая: когда удалилась сущность, взять ее картинку и обязательно с подавлением ошибки (почитаешь в нете) убиваешь файл
Sergey Titov
@Nuboskill_twitter
Jul 26 2017 07:19
а если он удаляется по внешнему ключу это сработает? ну например связан с какой-то таблицей и я ее удаляю, автоматически удаляется и запись из таблицы pictures
Ваня Devium
@webdevium
Jul 26 2017 07:21
@Nuboskill_twitter каскадами самой базы?
Sergey Titov
@Nuboskill_twitter
Jul 26 2017 07:22
то есть не будет Picture::find(1)->delete()
будет Example::find(1)->delete()
и там по внешнему ключу он снесет связанную запись в таблице pictures
Ваня Devium
@webdevium
Jul 26 2017 07:22
сомневаюсь. Это же уже база сама делает.
Sergey Titov
@Nuboskill_twitter
Jul 26 2017 07:22
это по идее тригер
а я в ларавеле на тригеры ничего не нарыл
Ваня Devium
@webdevium
Jul 26 2017 07:22
стопэ
не путай честное и праведное
триггеры в базе - они в базе. Их дергать не надо. Надо что-то с данными делать.
например есть триггер для подсчета статистики. Надо запись вставить, и он запустится. Понял?
Sergey Titov
@Nuboskill_twitter
Jul 26 2017 07:29
ну это я знаю, да
просто я знаю, что в ларавеле есть свой крон, например, думал может и тут чего есть
типа повесить событие на удаление записи, даже если удалилась она косвенно по внешнему ключу
можно, конечно, не париться и на крон раз в день поставить
мол если эта пикча не задействуется в таблице, то просто ее сносить
fakefakefake12
@fakefakefake12
Jul 26 2017 07:33
@Nuboskill_twitter Foreign Key Constraints
Sergey Titov
@Nuboskill_twitter
Jul 26 2017 07:37
@fakefakefake12 что-то не понял к чему это
Artur
@astralo
Jul 26 2017 07:40
Всем привет
KarmaBot
@KarmaBot
Jul 26 2017 07:40
@astralo, здравствуй.
Nikita
@RedDevilHat
Jul 26 2017 07:44
Доброго дня
KarmaBot
@KarmaBot
Jul 26 2017 07:44
@RedDevilHat, ну рассказывай. Как жизнь? :)
Nikita
@RedDevilHat
Jul 26 2017 07:45

что-то туплю
есть следующий код

$prodGroups = ProdGroup::where('type_id', $current_type->id)->get();

У ProdGroup есть связь 1 ко многим с таблицей Product

как мне сделать ASC\DESCT по count'у продуктов?
Ваня Devium
@webdevium
Jul 26 2017 07:47
@RedDevilHat ->withCount('products')->orderBy('products_count', 'DESC')
Nikita
@RedDevilHat
Jul 26 2017 07:47
:facepalm:
@webdevium спасибо
KarmaBot
@KarmaBot
Jul 26 2017 07:48
Спасибо (+1) для @webdevium принято! Текущая карма +206.
Alexander
@Dualse
Jul 26 2017 07:48
@Nuboskill_twitter типа если ты настроишь внешнии ключи, то бд сама будет удалять записи
Ваня Devium
@webdevium
Jul 26 2017 07:49
@Dualse ему фотки файловые надо удалять, ты контекст профтыкал
Alexander
@Dualse
Jul 26 2017 07:49
@webdevium а
точно)
Artur
@astralo
Jul 26 2017 07:57

Парни, кто в тестах разбирается
Как проверить, что при запуске sendAsync срабатывает SMS::queue и создается job ?

public static function sendAsync(SmsBuilder $builder)
    {
        $smsMessage = $builder->build();
        SMS::queue($smsMessage->body, [], function ($sms) use ($smsMessage) {
            $sms->to($smsMessage->phone);
        });
    }

При этом SMS::queue добавляет $this->queue->push('sms@handleQueuedMessage', com...

SanyaSPY
@SanyaSPY
Jul 26 2017 08:03
Всем привет, в проекте ларавел появилась папка node_modules, я не использую notejs как правильно ее удалить?
KarmaBot
@KarmaBot
Jul 26 2017 08:03
@SanyaSPY, здравствуй.
Ваня Devium
@webdevium
Jul 26 2017 08:03
@SanyaSPY руками просто удали
@SanyaSPY она появилась из-за mix, это нормально
SanyaSPY
@SanyaSPY
Jul 26 2017 08:05
а сам MIX закомментировать можно?
Ваня Devium
@webdevium
Jul 26 2017 08:05
@SanyaSPY не надо
SanyaSPY
@SanyaSPY
Jul 26 2017 08:05
если я удалю папку node_modules и сделаю композер апдейт она вернется?
Ваня Devium
@webdevium
Jul 26 2017 08:06
@SanyaSPY это не связанные между собой вещи
вообще
одно за пыху отвечает, второе - за ноду
SanyaSPY
@SanyaSPY
Jul 26 2017 08:07
а кто же ее в проект закачал?
Ваня Devium
@webdevium
Jul 26 2017 08:07
я не ванга
SanyaSPY
@SanyaSPY
Jul 26 2017 08:08
у тебя есть эта папка?
Ваня Devium
@webdevium
Jul 26 2017 08:08
@SanyaSPY есть
SanyaSPY
@SanyaSPY
Jul 26 2017 08:08
от куда взялась?
Ваня Devium
@webdevium
Jul 26 2017 08:09
@SanyaSPY у меня все проекты мультиязычные и мультитехнологические. Как минимум, у меня доки всегда нодой генерируются.
по этому наличие этой папки для меня - не в новость
SanyaSPY
@SanyaSPY
Jul 26 2017 08:10
ладно, держи +1 за помощь @webdevium спасибо
KarmaBot
@KarmaBot
Jul 26 2017 08:10
Спасибо (+1) для @webdevium принято! Текущая карма +207.
Ваня Devium
@webdevium
Jul 26 2017 08:11
@SanyaSPY я special for you только что заинсталлил новый проект на 5.4
SanyaSPY
@SanyaSPY
Jul 26 2017 08:11
одной строкой в композере :)
Ваня Devium
@webdevium
Jul 26 2017 08:11
1) в gitignore эта папка есть
2) package.json есть, а значит любой запуск npm i ее создаст
SanyaSPY
@SanyaSPY
Jul 26 2017 08:12
закомментить это дело можно?
Ваня Devium
@webdevium
Jul 26 2017 08:12
@SanyaSPY зачем?
чем тебе папка мешает? :)
SanyaSPY
@SanyaSPY
Jul 26 2017 08:13
не использую
Ваня Devium
@webdevium
Jul 26 2017 08:13
так и не используй
SanyaSPY
@SanyaSPY
Jul 26 2017 08:13
ладно, пусть будет
Ваня Devium
@webdevium
Jul 26 2017 08:13
добавь ее в ide как excluded, чтоб она не индексировалась, это максимум что я тебе посоветую
Screamster
@Screamster
Jul 26 2017 08:14
Привет всем. Посоветуйте проверенный пакет для создания карты сайта в xml.
KarmaBot
@KarmaBot
Jul 26 2017 08:14
@Screamster, ну рассказывай. Как жизнь? :)
Ваня Devium
@webdevium
Jul 26 2017 08:15
@Screamster но на мега сложных проектах лучше самому писать
Screamster
@Screamster
Jul 26 2017 08:16
@webdevium спасибо
KarmaBot
@KarmaBot
Jul 26 2017 08:16
Спасибо (+1) для @webdevium принято! Текущая карма +208.
SanyaSPY
@SanyaSPY
Jul 26 2017 08:18
@webdevium Подскажи как правильнее в ларавел оформить работу с внешнем веб сервисом?
Ваня Devium
@webdevium
Jul 26 2017 08:19
@SanyaSPY Свой класс сервис, сервис провайдер, DI - профит.
@SanyaSPY этому правилу 100 лет в обед, и все так делается.
SanyaSPY
@SanyaSPY
Jul 26 2017 08:20
свой класс я написал, как сделать сервис провайдер и DI - профит?
Ваня Devium
@webdevium
Jul 26 2017 08:20
@SanyaSPY artisan make:provider ВасяServiceProvider
SanyaSPY
@SanyaSPY
Jul 26 2017 08:21
Вася что должен туда прописать?
Ваня Devium
@webdevium
Jul 26 2017 08:22
@SanyaSPY ну что-то типа
$this->app->singleton(ВасяService::class, function () {
      return new ВасяService();
});
@SanyaSPY короче, ты должен показать контейнеру что делать, когда он видит ВасяService как зависимость.
чаще всего ты просто возвращаем ему этот же класс, ВасяService::class
дальше в config/app.php
SanyaSPY
@SanyaSPY
Jul 26 2017 08:23
это уже DI - профит?
Ваня Devium
@webdevium
Jul 26 2017 08:23
регистрируешь его
'providers' => [
   // ....
    App\Providers\ВасяServiceProvider::class,
],
@SanyaSPY и в конце, в нужном методе контроллера говоришь
public function васяMethod(ВасяService $васяService) {
    // вот тут у тебя автоматически $васяService - уже готовый инстанс класса, это DI
}
все, что я наваял есть на той странице доки, которую я тебе скинул выше
просто перечитай и все поймешь
SanyaSPY
@SanyaSPY
Jul 26 2017 08:26
в чем преимущества ServiceProvider и регистрации его, когда можно и так создать объект своего класса в нужный момент в коде?
Ваня Devium
@webdevium
Jul 26 2017 08:26
@SanyaSPY Тестирование, карл!
@SanyaSPY тестировать можно только параметризированные методы и функции
если у тебя внутри кода будет $date = new Date(); то ты не сможешь написать тест на разные даты
а если это будет функция, которая принимает $date как параметр, то ты сможешь тестить эту функцию и вдоль, в поперек
понял?
SanyaSPY
@SanyaSPY
Jul 26 2017 08:28
ОК, понял, держи еще +1 @webdevium спасибо
KarmaBot
@KarmaBot
Jul 26 2017 08:28
Спасибо (+1) для @webdevium принято! Текущая карма +209.
Sergey
@shummm
Jul 26 2017 08:40
Привет. Как объединить 2 таблицы так чтоб из второй получить кол-во элементов соответствующих id из первой таблицы. Типа public static function scopeSelect() { $collections = self::with('subject')->get(); foreach ($collections as $collection) { return $collection; } return false; }
Ваня Devium
@webdevium
Jul 26 2017 08:44
@shummm чего?
Sergey
@shummm
Jul 26 2017 08:47
@webdevium Вывести данные так чтоб в таблице отображалось кол-во элементов а не сами элементы из второй таблицы
Ваня Devium
@webdevium
Jul 26 2017 08:47
@shummm таблицы между собой имею laravel связь?
Sergey
@shummm
Jul 26 2017 08:48
@webdevium да)
Ваня Devium
@webdevium
Jul 26 2017 08:48
@shummm Table1::withCount('table2')->get();
на выхлопе будет у каждой модели Table1 свойство table2_count
Sergey
@shummm
Jul 26 2017 08:53
@webdevium Пробовал раньше этот метод не получалось, сейчас получилось). Спасибо
KarmaBot
@KarmaBot
Jul 26 2017 08:53
Спасибо (+1) для @webdevium принято! Текущая карма +210.
Ваня Devium
@webdevium
Jul 26 2017 08:54
@shummm если до конца понять, как он работает - будет всегда получаться. Не сдавайся.
slider23
@slider23
Jul 26 2017 09:46
"Laravel 5.5 will be out in August around Laracon EU #laracon"
Laracon EU - 28-30 августа.
Slavik
@slavikyarkin
Jul 26 2017 09:49
image.png
Здравствуйте. Я разложил ларавелевскую регестрацию, и добавил туда новые поля. поменял миграции с новыми полями для бд, но происходит ошибка.
KarmaBot
@KarmaBot
Jul 26 2017 09:49
@slavikyarkin и тебе не хворать :)
Ваня Devium
@webdevium
Jul 26 2017 09:49
@slavikyarkin в миграции ->nullable для sumname не добавил
Slavik
@slavikyarkin
Jul 26 2017 09:52
@webdevium $table->string('surname')->nullable();
@webdevium так?
Ваня Devium
@webdevium
Jul 26 2017 09:52
@slavikyarkin так
Slavik
@slavikyarkin
Jul 26 2017 09:52
@webdevium спасибо
KarmaBot
@KarmaBot
Jul 26 2017 09:52
Спасибо (+1) для @webdevium принято! Текущая карма +211.
Alexander
@spartaque
Jul 26 2017 10:01
Подскажите что выбрать для полнотекстового поиска по некоторым полям моделей?(лара 5.2, mysql 5.7) Скорость внедрения очень важна...
Roman Gorlinskiy
@lafat
Jul 26 2017 10:28
Ребят, а подскажите почему роут возвращает абсолютный путь.
{{ route('index') }} //"http://mogir.dev"  хотя я ожидал здесь увидеть "/"

Route::get('/', [
    'as' => 'index',
    'uses' => 'PagesController@getIndex'
]);
Sergey
@shummm
Jul 26 2017 10:30
@lafat as - alias
SanyaSPY
@SanyaSPY
Jul 26 2017 10:32
@lafat добавь третий параметр false
@lafat
$url = route('routeName', [], false);
Roman Gorlinskiy
@lafat
Jul 26 2017 10:35
да, так работает, но чет мне кажется что это где-то можно настроить по умолчанию
@SanyaSPY спасибо
KarmaBot
@KarmaBot
Jul 26 2017 10:35
Спасибо (+1) для @SanyaSPY принято! Текущая карма +1.
Alexander
@Dualse
Jul 26 2017 10:36
@lafat Да, можно
свой хэлпер сделать
Sergey
@shummm
Jul 26 2017 10:40
Как объединить 4 таблицы в одну, где связи table1 OToM table2, table2 otomany table3, table3 otomany table4 ? leftJoin?
Sergey
@shummm
Jul 26 2017 10:47
Может кто знает где копать надо?
Ваня Devium
@webdevium
Jul 26 2017 10:47
Напиши нормально условия вопроса
Здесь никто такой словобред не понимает
Aleksandr
@slowdream
Jul 26 2017 10:53
Хочу сделать клиент для терминала (обычный терминал самообслуживания). По сути просто каталог товаров с возможностью добавлять в корзину.
Реализовывать, естественно, собираюсь на ларе, но меня смущает такой момент. Сами терминалы могут оказаться без сети на какое-то время (в глухих местах стоять будут) и потому проще веб сервер поднять прям на нем, а уже в задачах тянуть материалы с основного сервера. Но вот железо у терминалов совсем хилинькое (кто с ними работал, поймет) - меньше гига оперативы, одно ядро и xp на борту.
Собственно вопрос, при условии пикового онлайна в 1 клиента - не будет ли сам фреймворк тормозить на таком железе ?
Ваня Devium
@webdevium
Jul 26 2017 10:54
закешируешь его и не будет
JhaoDa
@jhaoda
Jul 26 2017 10:54
@slowdream главное, РНР 7.1 юзай, даже без opcahe можно
Aleksandr
@slowdream
Jul 26 2017 10:54
Спасибо @webdevium
KarmaBot
@KarmaBot
Jul 26 2017 10:54
Спасибо (+1) для @webdevium принято! Текущая карма +212.
Aleksandr
@slowdream
Jul 26 2017 10:55
@jhaoda Без него никуда )
потихоньку старых клиентов агитирую на переход на седьмую пыху . Ускорение минимум в два раза (клиенты все на битриксе).
KarmaBot
@KarmaBot
Jul 26 2017 10:56
@slowdream, :see_no_evil: :fire:
Nikolay
@inickolay
Jul 26 2017 11:02
привет, народ)
что-то не особо понимаю, чем отличается action store (POST /photos) от create (GET /photos/create)?
KarmaBot
@KarmaBot
Jul 26 2017 11:02
@inickolay, и тебе привет ;)
Ваня Devium
@webdevium
Jul 26 2017 11:03
@inickolay приехали
один создает
второй просто форму тебе показывает
Sergey
@shummm
Jul 26 2017 11:05
RE: Как объединить 4 таблицы в одну, где связи table1 OToM table2, table2 otomany table3, table3 otomany table4 ?
Связь между таблицами одна ко многим, то есть связи между table1 и table4 нет.
Ваня Devium
@webdevium
Jul 26 2017 11:06
Table1 left join table2 left join table3 left join table4
Sergey
@shummm
Jul 26 2017 11:07
Вот это я и хотел узнать). Думал может есть другой способ который я не знаю. Спасибо!
KarmaBot
@KarmaBot
Jul 26 2017 11:07
@shummm, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Sergey
@shummm
Jul 26 2017 11:07
@webdevium спасибо!
KarmaBot
@KarmaBot
Jul 26 2017 11:07
Спасибо (+1) для @webdevium принято! Текущая карма +213.
Nikolay
@inickolay
Jul 26 2017 11:31
@webdevium нет, показывает index, а это именно store
Ваня Devium
@webdevium
Jul 26 2017 11:31
@inickolay роутинг покажи
Nikolay
@inickolay
Jul 26 2017 11:32
@webdevium да не роутинг :)
 Verb     | URI                  | Action  | Route Name
 ---      | ---                  | ---     | ---
GET       | /photos              | index   | photos.index
GET       | /photos/create       | create  | photos.create
POST      | /photos              | store   | photos.store
GET       | /photos/{photo}      | show    | photos.show
GET       | /photos/{photo}/edit | edit    | photos.edit
PUT/PATCH | /photos/{photo}      | update  | photos.update
DELETE    | /photos/{photo}      | destroy | photos.destroy
Ваня Devium
@webdevium
Jul 26 2017 11:33
@inickolay и куда ты стучишься и что у тебя не так?
Nikolay
@inickolay
Jul 26 2017 11:33
@webdevium вот в доке
@webdevium у меня всё так :) Просто не понимаю когда по канону применять store, а когда create :)
JhaoDa
@jhaoda
Jul 26 2017 11:34
@inickolay тебе ответили, попробуй читать ответы и думать
Kirill Nesmeyanov
@SerafimArts
Jul 26 2017 11:34
@inickolay одно "показать", другое "сделать"
Nikolay
@inickolay
Jul 26 2017 11:35
@SerafimArts тогда что делает index?
store - переводится же как сохранить, складировать, етц)
Kirill Nesmeyanov
@SerafimArts
Jul 26 2017 11:36
@inickolay показывает список всех элементов ресурса
Сергей
@abler98
Jul 26 2017 11:36
Всем привет, стоит ли так делать или лучше array_merge?
array_set($data, 'email', array_get($data, 'email', []));
KarmaBot
@KarmaBot
Jul 26 2017 11:36
@abler98, привет =)
Ваня Devium
@webdevium
Jul 26 2017 11:37
@abler98 ТАК как ты точно не надо делать
Kirill Nesmeyanov
@SerafimArts
Jul 26 2017 11:38
@inickolay всё что GET - это отображение. Л - логика =)
Отображать всякие представления можно по разному, в виде списка, в виде формы редактирования и проч. Короче по списку
Сергей
@abler98
Jul 26 2017 11:38
@webdevium я и не делаю, просто увидел такую строку в коде
Kirill Nesmeyanov
@SerafimArts
Jul 26 2017 11:38
А непосредственные действия с передачей данных - это всё что != GET
Nikolay
@inickolay
Jul 26 2017 11:38

@SerafimArts вот щас вообще не понятно

GET       | /photos/create       | create  | photos.create

тут ведь мы создаём, а не отображаем.

Kirill Nesmeyanov
@SerafimArts
Jul 26 2017 11:39
@inickolay чего не понятного?
Oleg Arkhipov
@Oleg-Arkhipov
Jul 26 2017 11:39
@inickolay отображаем форму создания.
Kirill Nesmeyanov
@SerafimArts
Jul 26 2017 11:39
@inickolay такое ощущение ты вообще не слушал +))))
Oleg Arkhipov
@Oleg-Arkhipov
Jul 26 2017 11:39
@inickolay создаём в
POST      | /photos              | store   | photos.store
Kirill Nesmeyanov
@SerafimArts
Jul 26 2017 11:39
*не читал
@Oleg-Arkhipov *сохраняем
Nikolay
@inickolay
Jul 26 2017 11:39
@Oleg-Arkhipov оп, вот теперь понятно )
Oleg Arkhipov
@Oleg-Arkhipov
Jul 26 2017 11:40
@SerafimArts какая разница?
Ваня Devium
@webdevium
Jul 26 2017 11:40
@abler98 она ужасна
Nikolay
@inickolay
Jul 26 2017 11:40

@SerafimArts слушал, просто расплывчато объяснили )

одно "показать", другое "сделать"

Сергей
@abler98
Jul 26 2017 11:40
@webdevium ага, спасибо
KarmaBot
@KarmaBot
Jul 26 2017 11:40
Спасибо (+1) для @webdevium принято! Текущая карма +214.
Nikolay
@inickolay
Jul 26 2017 11:40
@Oleg-Arkhipov @SerafimArts спасибо, ребят )
KarmaBot
@KarmaBot
Jul 26 2017 11:40
Спасибо (+1) для @Oleg-Arkhipov принято! Текущая карма +6.
Спасибо (+1) для @SerafimArts принято! Текущая карма +753.
Kirill Nesmeyanov
@SerafimArts
Jul 26 2017 11:41

@inickolay кейворд там был

всё что GET - это отображение. Л - логика =)
Отображать всякие представления можно по разному, в виде списка, в виде формы редактирования и проч. Короче по списку

Nikolay
@inickolay
Jul 26 2017 11:46
@SerafimArts ну это и есть "расплывчато" :smile:
Kirill Nesmeyanov
@SerafimArts
Jul 26 2017 11:48
расплывчато - это сроки выхода 5.5
:D
JhaoDa
@jhaoda
Jul 26 2017 11:51
@SerafimArts не, уже почти конкретно же сказали
Kirill Nesmeyanov
@SerafimArts
Jul 26 2017 11:57
@jhaoda согласен, "в июле-августе" звучит довольно убедительно
главное чтобы не было опроса, вида "у нас тут слишком много изменений, по-этому предлагаю, вместо 5.5 назвать её 6.0"
тогда это ещё на пол года, уже проходили :D
JhaoDa
@jhaoda
Jul 26 2017 11:58
@SerafimArts ну ты чо, я (и Андрей) же вчера линку кидали на статью Штауфера, где написано «Timeline: releasing August-ish; around Eu», т.е. на европейском лараконе (судя по всему)
Kirill Nesmeyanov
@SerafimArts
Jul 26 2017 11:59
а, ну да, точно
Nikolay
@inickolay
Jul 26 2017 12:28
ба, ребят, опять обращаюсь за помощью)
Хочу создать что-то вроде Has Many Through из документации
Но проблемка: если брать пример который указан там, то таблицы countries и users у меня связаны отношением многие-ко-многим с пивот таблицей. Как поступить в этом случае?
Ваня Devium
@webdevium
Jul 26 2017 12:31
@inickolay так значит у тебя не thougth
Nikolay
@inickolay
Jul 26 2017 12:36

@webdevium как скажете) Как тогда получить значение? =\
У таблицы users идёт связь к posts через один-ко-многим.
если получать как-нибудь так: $countries->find(1)->users()->posts - то кидает ошибку:

Undefined property: Illuminate\Database\Eloquent\Relations\BelongsToMany::$posts

Alexander
@spartaque
Jul 26 2017 12:38
@inickolay в User hasMany на Post
Nikolay
@inickolay
Jul 26 2017 12:40
@spartaque так и сделано
class User extends Model {
    public function countries() { return $this->belongsToMany(Country::class); }
    public function posts() { return $this->hasMany(Post::class); }
}
ikskoder
@ikskoder
Jul 26 2017 12:40

Всем привет! Кто сталкивался с подобным при использовании deployer?

✔ Executing task deploy:prepare
✔ Executing task deploy:lock
✔ Executing task deploy:release
➤ Executing task deploy:update_code
✔ Executing task deploy:failed
✔ Executing task deploy:unlock

[RuntimeException]
Can't locate ['git'] - neither of [command|which|type] commands are available

Это при том, что git на сервере установлен и все команды
[command|which|type] git
работают правильно. В чем может быть причина?

KarmaBot
@KarmaBot
Jul 26 2017 12:40
Приветствую тебя, @ikskoder!
Alexander
@spartaque
Jul 26 2017 12:42
@inickolay $countries->find(1)->users->posts?
Nikolay
@inickolay
Jul 26 2017 12:42

@spartaque

Property [posts] does not exist on this collection instance.

Alexander
@spartaque
Jul 26 2017 12:43
@inickolay напрямую с User посты получаются?
Nikolay
@inickolay
Jul 26 2017 12:43
@spartaque да. $users->find(1)->posts выводит нужную коллекцию
Ваня Devium
@webdevium
Jul 26 2017 12:44
@inickolay @spartaque стоп, мужики
Property [posts] does not exist on this collection instance.
такое вас должно было остановить!
@inickolay зная КАКУЮ МОДЕЛЬ ты хочешь ПОЛУЧИТЬ СВЯЗИ?
Nikolay
@inickolay
Jul 26 2017 12:45
@webdevium ну я лично не могу понять почему он говорит что нет такой коллекции
Ваня Devium
@webdevium
Jul 26 2017 12:45
@inickolay английский подтяни
@inickolay коллекция есть, в ней posts нет, потому что это коллекция пользователей, у которого у каждого есть posts
Nikolay
@inickolay
Jul 26 2017 12:47
@webdevium хм, и как тогда поступить?
Ваня Devium
@webdevium
Jul 26 2017 12:47
@inickolay третий раз спрашиваю
зная КАКУЮ МОДЕЛЬ ты хочешь вытянуть СВЯЗИ?
Nikolay
@inickolay
Jul 26 2017 12:48
@webdevium а, понял вопрос, дак первую модель, countries
Ваня Devium
@webdevium
Jul 26 2017 12:48
@inickolay откуда countries взялись?
Nikolay
@inickolay
Jul 26 2017 12:49
@webdevium ну я их получил, скажем, так: Countries::find(1)
Ваня Devium
@webdevium
Jul 26 2017 12:49
@inickolay внутри country модели есть связь на posts? правильно, нет!
Alexander
@spartaque
Jul 26 2017 12:50
@inickolay какой модели юзеров ты хочешь получить посты?
@webdevium извини
Nikolay
@inickolay
Jul 26 2017 12:50
@webdevium логично :)
@spartaque тех, которые указаны у постов. (у них есть колонка user_id)
Alexander
@spartaque
Jul 26 2017 12:51
нет, ты сейчас их пробуешь получить у Collection
Nikolay
@inickolay
Jul 26 2017 12:52
@spartaque @webdevium хм, или проще создать ещё одну связующую таблицу..?
@spartaque а как поступить тогда? >_<
Alexander
@spartaque
Jul 26 2017 12:53
@inickolay Country::with(['users.posts'])->find(1);
Nikolay
@inickolay
Jul 26 2017 12:55
@spartaque хм, вроде оно! Но как получить то злосчастные посты?)
Ваня Devium
@webdevium
Jul 26 2017 12:56
@inickolay таким кодом - только перебор
Nikolay
@inickolay
Jul 26 2017 12:57
@webdevium перебор чего?
а есть ещё варианты? =\
Ваня Devium
@webdevium
Jul 26 2017 12:57
есть
есть такой вариант: Posts::whereHas(['users' => function($q) { $q->whereHas(['countries' => function($q) { $q->where('id', $caountry_id)}]) }])->get()
так будут чистые посты, без чего либо
но это дофига сложный запрос
не забудь $country_id заuseать в closure'aх
Nikolay
@inickolay
Jul 26 2017 13:00
@webdevium не, мне подойдёт любой формат (лучше бы коллекцию), что-то вроде Country::with(['users.posts'])->find(1)->users->types
Ваня Devium
@webdevium
Jul 26 2017 13:00
@inickolay НЕТ
Nikolay
@inickolay
Jul 26 2017 13:00
@webdevium так не получится? =\
Ваня Devium
@webdevium
Jul 26 2017 13:00
@inickolay нет
Alexander
@spartaque
Jul 26 2017 13:01
@inickolay в смысле как получить? А это что "users.posts"?
Nikolay
@inickolay
Jul 26 2017 13:01

@webdevium а вот это

не забудь $country_id заuseать в closure'aх

совсем не понял, видимо не дорос (

Ваня Devium
@webdevium
Jul 26 2017 13:03
фух, сча
Nikolay
@inickolay
Jul 26 2017 13:03

@spartaque ну, в dd то через отношения я вижу что добавилось, но как получить - я не понял, ибо Country::with(['users.posts'])->find(1)->users->posts ругается

Property [posts] does not exist on this collection instance.

Ваня Devium
@webdevium
Jul 26 2017 13:06
@inickolay
$country_id = 1;
Posts::has('users', function ($q) use ($country_id) {
    $q->has('countries', function ($q) use ($country_id) {
        $q->where('id', $country_id);
    });
})->get();
@inickolay видишь что такое use ?
Nikolay
@inickolay
Jul 26 2017 13:07
@webdevium да, нехило)
Ваня Devium
@webdevium
Jul 26 2017 13:07
@inickolay это основы программирования, карл. Быстро учить!
Nikolay
@inickolay
Jul 26 2017 13:08
@webdevium это в пхп 7 появилось, или я просто так глубоко не заходил ещё?
Ваня Devium
@webdevium
Jul 26 2017 13:09
@inickolay это работа с замыканиями во всех языках программирования, я не знаю когда это появилось
Kirill Nesmeyanov
@SerafimArts
Jul 26 2017 13:09
php 5.3+
Ваня Devium
@webdevium
Jul 26 2017 13:10
@inickolay о, видишь как давно появилось.
Nikolay
@inickolay
Jul 26 2017 13:11

@webdevium беда)
хм, не работает решение:

(1/1) ErrorException
strpos() expects parameter 1 to be string, array given

Ваня Devium
@webdevium
Jul 26 2017 13:11
изменил
Nikolay
@inickolay
Jul 26 2017 13:13
@webdevium не помогло о_О (ошибка та же)
Ваня Devium
@webdevium
Jul 26 2017 13:15
@inickolay изменил
@inickolay на, шоб ты мне мозги не компостировал с ошибками, смотри как надо
https://laravel.com/docs/5.4/eloquent-relationships#querying-relationship-existence
Nikolay
@inickolay
Jul 26 2017 13:17

@webdevium спасибо, буду разбираться)
P.S. не помогло :D

(1/1) FatalThrowableError
Call to a member function getRelationExistenceCountQuery() on null

KarmaBot
@KarmaBot
Jul 26 2017 13:17
Спасибо (+1) для @webdevium принято! Текущая карма +215.
Ваня Devium
@webdevium
Jul 26 2017 13:19
@inickolay тут задача пердунов - показать ход мысли
@inickolay мы НЕ можем и НЕ будем писать полные решения только потому, что иначе придется всех уволить нахрен.
Oleg Arkhipov
@Oleg-Arkhipov
Jul 26 2017 13:23
@webdevium почему «всех уволить»?
Ваня Devium
@webdevium
Jul 26 2017 13:24
@Oleg-Arkhipov а за что тогда учащимся платить, если пердуны все будут тут решать, скажи мне!
Oleg Arkhipov
@Oleg-Arkhipov
Jul 26 2017 13:25
@webdevium а, ты про задающих такие вопросы. Ну они не все
Alexander
@spartaque
Jul 26 2017 14:13
Подскажите, почему может не работать Cookie::queue(Cookie::make('test', 'test', 60, '/', 'mydomain.app'));? Если прикреплять к response() через withCookie() - работает
JhaoDa
@jhaoda
Jul 26 2017 14:24
@spartaque мидлваря, которая queue-куки добавляет в ответ — есть?
Alexander
@spartaque
Jul 26 2017 14:26
@jhaoda опа, а где ее найти? Первый раз о такой слышу
JhaoDa
@jhaoda
Jul 26 2017 14:26
@spartaque а где все мидлвари?
Alexander
@spartaque
Jul 26 2017 14:27
как называется?
JhaoDa
@jhaoda
Jul 26 2017 14:27
@spartaque где в ларавел перечислены все мидлвари?
Сложный вопрос...
Alexander
@spartaque
Jul 26 2017 14:29
@jhaoda все, понял, спасибо
KarmaBot
@KarmaBot
Jul 26 2017 14:29
Спасибо (+1) для @jhaoda принято! Текущая карма +1569.
Alexander
@spartaque
Jul 26 2017 14:31
вопрос не сложный, у меня кастомизированный провайдер роутов, несколько файлов роутов, я искал указано ли middleware с AddQueuedCookiesToResponse для нужного роута
Alexander
@spartaque
Jul 26 2017 14:45
задавал вопрос ранее, попробую еще раз:) Какой самый простой вариант решения задачи полнотекстового поиска по полям модели?
Ваня Devium
@webdevium
Jul 26 2017 14:47
@spartaque там по факту все равно используется match against, как не крути
Alexander
@spartaque
Jul 26 2017 14:55
@webdevium у меня еще и utf8_bin на нужных полях модели:( однозначно нужно искать стороннее решение...
JhaoDa
@jhaoda
Jul 26 2017 15:05
@spartaque или эластик, или постгрес
Alexander
@spartaque
Jul 26 2017 15:09
я так понял для эластика https://github.com/elastic/elasticsearch-php самое оно?
Anton Vorontsov
@symbios-zi
Jul 26 2017 16:08
@spartaque да я его брал. И сам писал полноценные запросы к эластику.
am0nshi
@am0nshi
Jul 26 2017 16:25
@jhaoda а постгрес умеет делать что-то сфинско/эластико-подобное?
JhaoDa
@jhaoda
Jul 26 2017 16:26
@am0nshi что именно?
am0nshi
@am0nshi
Jul 26 2017 16:28
They tend to be slow because there is no index support, so they must process all documents for every search.
полнотекстовый нормальный
он не лингвистику, не индексы не поддерживает, тобишь бегает каждый раз сканит и грепает все данные
Ваня Devium
@webdevium
Jul 26 2017 16:29
ты че с ума сошел?
am0nshi
@am0nshi
Jul 26 2017 16:33
это можно использовать хотя бы на 100 мб данных в проде?
Ваня Devium
@webdevium
Jul 26 2017 16:33
юзай, а че
am0nshi
@am0nshi
Jul 26 2017 16:33
я просто постгре мало юзал, пол года назад только засел
почитал за GIN, спасибо. попробую на досуге. а что насчет использования в проде?
Ваня Devium
@webdevium
Jul 26 2017 16:35
я не пользуюсь на проде слоном
JhaoDa
@jhaoda
Jul 26 2017 16:36
@am0nshi ну касаемо FTS там донастраивать надо, плагин для триграмм ставить, что бы с опечатками искал
am0nshi
@am0nshi
Jul 26 2017 16:37
а я планирую попробовать переползти. в перспективе есть проект, по функицоналу очень похожий на uber, и как раз там и гео индексы, и фултекст очень пригодился бы
@jhaoda понял, спасибо, почитаю
JhaoDa
@jhaoda
Jul 26 2017 16:37
Хотя как в эластике с этим — я уже не помню, но два года назад было не очень, тоже надо было настраивать
am0nshi
@am0nshi
Jul 26 2017 16:38
мне эластик нравится кластером из коробки, но полностью переползать на новую технологию нет возможности. начал постгрес потихоньку курить, и принципе он мне нравится. плюс появился bdr который мы юзаем в проде, и это реально живая технология
Илья.
@IlyaVorozhbit
Jul 26 2017 17:09

Ребят, всем привет!
Вопрос не относится к ларе, но..

Если нужно сделать возможность пользователям давать право на использование html тегов, могу использовать функцию strip_tags, но, к примеру, если я разрешу тег <a>, доблестный хакер сможет сделать <a onclick="alert('Клик!')"> ?

Как лучше тогда быть с этим?
ps. нужно дать возможность предоставить что-то наподобие форумных тегов

KarmaBot
@KarmaBot
Jul 26 2017 17:09
@IlyaVorozhbit и тебе не хворать :)
Илья.
@IlyaVorozhbit
Jul 26 2017 17:09
@KarmaBot спасибо
KarmaBot
@KarmaBot
Jul 26 2017 17:09
@IlyaVorozhbit, не за что, я всегда к твоим услугам =)
Спасибо (+1) для @KarmaBot принято! Текущая карма +433.
Ваня Devium
@webdevium
Jul 26 2017 17:21
@IlyaVorozhbit доки экранирование html
KarmaBot
@KarmaBot
Jul 26 2017 17:21
Вот что нашел в документации:
iUglik
@iUglik
Jul 26 2017 22:31
привет
KarmaBot
@KarmaBot
Jul 26 2017 22:31
@iUglik, и тебе привет ;)
iUglik
@iUglik
Jul 26 2017 22:32
Подскажте пожалуйста в чем дело? подсвечивает код в phpstorm
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
        ]);
User::create
чего не хватат ?
установил laravel-ide-helper