These are chat archives for LaravelRUS/chat

14th
Apr 2017
Pavel Kuzmin
@s00d
Apr 14 2017 07:05
Всем привет, можно ли как-то запихнуть в связь один ко многим дополнительное условие зависящее от родителя?
->where('created_at', '>=', $parent->created_at);
KarmaBot
@KarmaBot
Apr 14 2017 07:05
@Virus191288 и тебе не хворать :)
Dave
@aios
Apr 14 2017 07:14
умный скоуп?
Pavel Kuzmin
@s00d
Apr 14 2017 07:19
@aios не знаю таких)) не помнишь ссылку в доках?
Maksim (Ellrion) Platonov
@Ellrion
Apr 14 2017 07:21
@s00d условия к связям добавлять можно но обычно там константные параметры. Так как ты хочешь мне кажется нельзя.
Pavel Kuzmin
@s00d
Apr 14 2017 07:27

Посмотрел в общем как лара формирует запрос для связи

select * from `table` where `table`.`id` in (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)

Походу так, как я хочу не получиться сделать через связи :( Пойду через коллекции фигню творить.

Ваня Devium
@webdevium
Apr 14 2017 07:34
@s00d взял бы пакет, который связи через джойны делает, и не парился бы
Dave
@aios
Apr 14 2017 07:35
@webdevium ану подскажи такой
Ваня Devium
@webdevium
Apr 14 2017 07:35
@aios счас
@aios тьфу, мог бы и не прикалываться надо мной :)
sleeping-owl/with-join
ваш же пакет
Dave
@aios
Apr 14 2017 07:38
@webdevium я ваще его в первый раз вижу
ему походу уже хз сколько
Ваня Devium
@webdevium
Apr 14 2017 07:39
@aios понятно
принцип то ясен, можно для своих нужд переделкина сделать))
я свалил, буду через час
Pavel Kuzmin
@s00d
Apr 14 2017 07:40
@webdevium спасибо, вообще первый раз такую штуку вижу.. пойду изучать.
KarmaBot
@KarmaBot
Apr 14 2017 07:40
Спасибо (+1) для @webdevium принято! Текущая карма +115.
Anton Kartsev
@bigperson
Apr 14 2017 08:29
Всем привет. Подскажите как в блейде экранировать @text, чтоб не вопрспринималась как директива? Надо например логин телеграма вывести или твиттера
KarmaBot
@KarmaBot
Apr 14 2017 08:29
Не узнал тебя, @bigperson. Богатым будешь :)
Ваня Devium
@webdevium
Apr 14 2017 08:36
@bigperson в доку загляни
там есть
Anton Kartsev
@bigperson
Apr 14 2017 08:36
@webdevium Ткните носом пожалуйста
Ваня Devium
@webdevium
Apr 14 2017 08:36
фух
@{{ name }}
собаку вначале ставишь, и блейд ничего не делает
Anton Kartsev
@bigperson
Apr 14 2017 08:39
@webdevium @@text Так получается что ли? Там сказано про обработку фигурных скобок а не собак вроде как.
Ваня Devium
@webdevium
Apr 14 2017 08:39
@bigperson а при чем тут @text
оно же никак не обрабатывается блейдом
пиши что угодно туда
Anton Kartsev
@bigperson
Apr 14 2017 08:43
@webdevium Спасибо
KarmaBot
@KarmaBot
Apr 14 2017 08:43
Спасибо (+1) для @webdevium принято! Текущая карма +116.
Андрианов Сергей
@Batisska
Apr 14 2017 08:59
Добрый день. Всем.
KarmaBot
@KarmaBot
Apr 14 2017 08:59
@Batisska, ну рассказывай. Как жизнь? :)
Андрианов Сергей
@Batisska
Apr 14 2017 08:59
Ребят подскажите расширение для организации поиска товаров. Модель EAV.
Anton Vorontsov
@symbios-zi
Apr 14 2017 09:27
@Batisska sql?
@Batisska если нужен нормальный поиск я бы смотрел в сторону поисковых систем типа sphinx или elasticsearch. Сам планирую ElasticSearch использовать.
Anton Kartsev
@bigperson
Apr 14 2017 09:29
Подскажите еще почему в markdown шаблонах писем может не отрабатывать оформление? Из всего оформления отрабатывает только заголовок, списки и полужирный выводится просто текстом **полужирный текс**
NoViKoFF
@AndrewNovikof
Apr 14 2017 09:31
@bigperson markdown очень капризен, если допускаются ошибки, так что что-то ты не там поставил, вот и все
Anton Kartsev
@bigperson
Apr 14 2017 09:31
А пример из доки вообще html верстку выдает http://prntscr.com/ewbr9i
KarmaBot
@KarmaBot
Apr 14 2017 09:31
Вот что нашел в документации:
NoViKoFF
@AndrewNovikof
Apr 14 2017 09:32
Ты код не форматировал?
Отступов от начала строки не допускай
Anton Kartsev
@bigperson
Apr 14 2017 09:33
@AndrewNovikof жесть какая. Шторм сам их ставит
@AndrewNovikof спасибо помогло
KarmaBot
@KarmaBot
Apr 14 2017 09:34
Спасибо (+1) для @AndrewNovikof принято! Текущая карма +39.
Eldar
@MyZik
Apr 14 2017 10:50
Всем привет. Ребят, у меня есть таблица models, где хранятся данные о модели с user_id (параметры, цвет волос, глаз и прочая фигня). И есть таблица photoset_categories, которая хранит в себе категории фотосессий по типу id и name. Например: id = 1, name = "Студийная"; id = 2, name = "Парная"; и так далее.
Теперь, в таблице models есть поле ps_types, которая хранит в себе типы фотосессий, в которых снимается модель в виде массива чисел. Например: 1, 7, 9. Как можно это всё настроить и получить в виде отношений Laravel? Был бы очень признателен. Никак не получается разобраться.
PhpNet
@PhpNet
Apr 14 2017 10:51
@MyZik связующую сделай и через отношения разруливай. айдишники в виде строки чисел - не тру.
Eldar
@MyZik
Apr 14 2017 10:52
@PhpNet а как правильно? Если модель выбирает несколько категорий фотосессий, то легче ведь хранить строку в виде массива в одном поле, чем делать ещё одну таблицу, нет?
PhpNet
@PhpNet
Apr 14 2017 10:53
@MyZik ок, а если нужно отобрать только моделей с признаком name="Студийная"? Строку парсить на уровне SQL?)
хотя это уже не совсем тема для чата по ларе ))
Andrey
@daaner
Apr 14 2017 10:54
Скорость же) ты потом надумаешь фильтр прикрутить или что-то такое и будешь всю таблицу перечитывать
Eldar
@MyZik
Apr 14 2017 10:55
@PhpNet @Daaner хм, действительно. А как тогда лучше сделать? И как примерно должна выглядеть связующая таблица?
Не думал, что над одним полем буду столько биться
PhpNet
@PhpNet
Apr 14 2017 10:56
@MyZik (model_id, category_id)?
Andrey
@daaner
Apr 14 2017 10:56
Один ко многим через pivot
Eldar
@MyZik
Apr 14 2017 10:58
@PhpNet на самом деле, так гораздо легче будет получить все фотосеты в которых снимается определённая модель :)
Теперь бы насчёт отношений подумать. Там ведь hasMany получается?
Anton Kartsev
@bigperson
Apr 14 2017 11:00
Подскажите что тут может быть неправильно? return response()->json($result)->header('Cache-Control', 'no-cache'); нужно чтоб результат не кешировался браузером, но отдается все равно с заголовком Cache-Control:max-age=18000
Ваня Devium
@webdevium
Apr 14 2017 11:01
@bigperson maybe array needed for this case?
Anton Kartsev
@bigperson
Apr 14 2017 11:26
@webdevium массив в методе header не используется
  public function header($key, $values, $replace = true)
    {
        $this->headers->set($key, $values, $replace);

        return $this;
    }
Ваня Devium
@webdevium
Apr 14 2017 11:27
судя по исходнику тебе надо просто true добавить третим параметром
так как по стандарту в response уже есть cache-control
Anton Kartsev
@bigperson
Apr 14 2017 11:28
@webdevium Судя по исходнику true устанавливается по умолчанию. Еще одно - проблема только на продакшене.
Ваня Devium
@webdevium
Apr 14 2017 11:28
может web server перебивает?
nginx или apache
че там у тебя стоит
Anton Kartsev
@bigperson
Apr 14 2017 11:57
@webdevium nginx, скорее всего он, но не пойму где кеширует
Ваня Devium
@webdevium
Apr 14 2017 11:58
@bigperson он не кеширует, он сам ставит этот хедер
Anton Kartsev
@bigperson
Apr 14 2017 11:58
@webdevium Это и имел ввиду. Нету параметра такого в конфиге. ладно это уже офтоп
nitrogenium
@nitrogenium
Apr 14 2017 13:17
Перехожу с cakephp на laravel, все пароли пользователей кахешированы cakephp функцией. Как в laravel организовать кастомную проверку пароля?
JhaoDa
@jhaoda
Apr 14 2017 13:32
@nitrogenium написать свой user provider по аналогии с Illuminate\Auth\EloquentUserProvider и зарегать его в AuthManager
Alexey
@greal
Apr 14 2017 13:35
Всем привет! Делаю API на Laravel, при попытке использовать метод PUT выдает ошибку, что данный метод не поддерживается. Погуглил немного, оказывается PUT в laravel работает через POST с параметром _method=PUT. Как можно реализовать нормальный API? Или искать сторонние библиотеки.
KarmaBot
@KarmaBot
Apr 14 2017 13:35
@greal, привет, как настроение?
JhaoDa
@jhaoda
Apr 14 2017 13:37
@greal всё, что ты написал, относится к формам и это в них не работает PUT
Andrei Sosnov
@atehnix
Apr 14 2017 13:37

@greal

выдает ошибку, что данный метод не поддерживается

Кто выдает ошибку? Кем не поддерживатеся? О_о

JhaoDa
@jhaoda
Apr 14 2017 13:38
@greal самой ларавел плевать на методы, она понимает всё, что понимает сервер и РНР. Мне казалось, что это очевидная вещь, если ты хоть немного понимаешь основы веб-разработки
Alexey
@greal
Apr 14 2017 13:39
Сейчас в Postman проверил без _method=PUT, и работает. Не знаю, почему не работало.. Сорри за беспокойство.
@jhaoda спасибо за ответы. В том то и дело, что очевидные, 2 часа подряд выдавало ошибку что метод не поддерживается.)
KarmaBot
@KarmaBot
Apr 14 2017 13:41
Спасибо (+1) для @jhaoda принято! Текущая карма +1495.
Igor Markin
@markinigor
Apr 14 2017 14:08
@MyZik тебе же уже вроде ответили, зачем повторять вопрос. Используй отношения, в частности many-to-many. О том как они работают можно почитать в доке
Oldy
@oldy777
Apr 14 2017 14:19
@MyZik удаляй все перед записью, и добавляй по новой
@MyZik если любишь извращения можешь и в строке искать, как то так
categories_ids RLIKE '(^|;)" . $photoset_categories_id. "(;|$)'
ну и записывать соответственно
JhaoDa
@jhaoda
Apr 14 2017 14:27
@oldpunk ну или можно в доке про sync почитать, ага
good-web-master
@good-web-master
Apr 14 2017 14:33
Всем привет!
KarmaBot
@KarmaBot
Apr 14 2017 14:33
@good-web-master, здравствуй.
good-web-master
@good-web-master
Apr 14 2017 14:33
есть ли метод для отображения готового запроса который создается через Query Builder
JhaoDa
@jhaoda
Apr 14 2017 14:34
@good-web-master нету
good-web-master
@good-web-master
Apr 14 2017 14:37
а все нашел как, всем спасибо
KarmaBot
@KarmaBot
Apr 14 2017 14:37
@good-web-master, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
good-web-master
@good-web-master
Apr 14 2017 14:37
@good-web-master спасибо
KarmaBot
@KarmaBot
Apr 14 2017 14:37
Так не честно, @good-web-master. Нельзя добавлять карму самому себе.
Artur
@astralo
Apr 14 2017 14:37
о да
всем привет
KarmaBot
@KarmaBot
Apr 14 2017 14:37
@astralo, привет =)
JhaoDa
@jhaoda
Apr 14 2017 14:37
@good-web-master что нашел?
Artur
@astralo
Apr 14 2017 14:38
наверное debugbar или ->toSql() нашел ))
good-web-master
@good-web-master
Apr 14 2017 14:38
@jhaoda да toSql
JhaoDa
@jhaoda
Apr 14 2017 14:38
@good-web-master ну ты просил готовый запрос, а toSql выдает нифига не готовый
Artur
@astralo
Apr 14 2017 14:39
debugbar готовый дает
good-web-master
@good-web-master
Apr 14 2017 15:24

Есть запрос

$query->whereBetween('pole', [$start, $end])

можно ли в место $start и $end поставить имена полей таблицы ?

JhaoDa
@jhaoda
Apr 14 2017 15:25
@good-web-master а ты попробуй
good-web-master
@good-web-master
Apr 14 2017 15:26
@jhaoda я уверен то что они их тупо примет за строки
JhaoDa
@jhaoda
Apr 14 2017 15:26
@good-web-master ну раз уверен, то зачем спрашиваешь?
good-web-master
@good-web-master
Apr 14 2017 15:26
@jhaoda а вдруг есть какойто способ
JhaoDa
@jhaoda
Apr 14 2017 15:30
@good-web-master т.е. ты не на 146% уверен?
JhaoDa
@jhaoda
Apr 14 2017 15:31
@good-web-master да это «да, я не на 146% уверен, что он их примет за строки»?
good-web-master
@good-web-master
Apr 14 2017 15:32
@jhaoda я уверен что он их примет за строки
JhaoDa
@jhaoda
Apr 14 2017 15:32
@good-web-master на 146% уверен? Если уверен, то зачем спрашиваешь?
good-web-master
@good-web-master
Apr 14 2017 15:32
@jhaoda да
@jhaoda вдруг тут есть маги...
JhaoDa
@jhaoda
Apr 14 2017 15:33
Ясно, пробовать ты не хочешь...
@good-web-master ну походи, подожди мага, они тут часто шныряют, ага...
ikskoder
@ikskoder
Apr 14 2017 15:40
Всем привет
Какие есть варианты, почему может не работать кастомная консольная команда (artisan command:name)? На локалке все как надо, закидываю проект на сервер - на работает. Никаких сообщений об ошибке, просто при запуске команды не происходит абсолютно ничего, пока не нажму ctrl+C для завершения.
KarmaBot
@KarmaBot
Apr 14 2017 15:40
@ikskoder, и тебе привет ;)
Andrei Sosnov
@atehnix
Apr 14 2017 15:42
@ikskoder а "не кастомная" работает? ;)
Тогда, вангую, что дело в кастомной команде..)
ikskoder
@ikskoder
Apr 14 2017 15:43
@atehnix Работают все кроме кастомной. Да я как бы и сам понимаю), просто не пойму в чем разница между командой на локалке и на серваке, и главное никаких ошибок в выводе
Andrei Sosnov
@atehnix
Apr 14 2017 15:45
@ikskoder с этим сложнее, т.к. никто кроме тебя не видел ни проекта в целом, ни команды в частности.)
JhaoDa
@jhaoda
Apr 14 2017 15:45
@ikskoder логи?
Andrei Sosnov
@atehnix
Apr 14 2017 15:49
@jhaoda +
Я, видимо, слишком наивен, и почему-то всегда предпологаю, что логи уже проверены, т.к. это первое что должно приходить на ум при любой внештатной ситуации.. :)
ikskoder
@ikskoder
Apr 14 2017 15:50
@jhaoda о, точно, в логах все есть, сейчас буду разбираться)
@jhaoda спасибо
KarmaBot
@KarmaBot
Apr 14 2017 15:50
Спасибо (+1) для @jhaoda принято! Текущая карма +1496.
JhaoDa
@jhaoda
Apr 14 2017 15:50
@atehnix тут иногда бывают люди, которые вообще про логи не знают, забыл, штоле :)
@atehnix вот ты Нострадамус! :)
Ваня Devium
@webdevium
Apr 14 2017 16:03
поможем Темычу полторы тыщи получить :)
@jhaoda спасибо
KarmaBot
@KarmaBot
Apr 14 2017 16:03
Спасибо (+1) для @jhaoda принято! Текущая карма +1497.
Nikita
@xenmayer
Apr 14 2017 16:40
@ikskoder может быть composer dumpautoload?
Никита Гайдай
@gaidai_nikita_twitter
Apr 14 2017 17:54
Парни, всем привет. Такой вопрос. Есть 2 модели User и Gender, между ними связь типа один-ко-многим (думаю объяснять не стоит), так вот. Проблема в том, что при обращении к динамическому свойству ($user->gender) возвращается установленный у пользователя gender_id, а не объект класса Gender. Скажите, так и должно быть?
KarmaBot
@KarmaBot
Apr 14 2017 17:54
Прувет, @gaidai_nikita_twitter!
JhaoDa
@jhaoda
Apr 14 2017 17:55
@gaidai_nikita_twitter покажи, как связь объявил
Никита Гайдай
@gaidai_nikita_twitter
Apr 14 2017 17:57
у класса User: return $this->belongsTo('App\Gender');
у класса Gender: return $this->hasMany('App\User', 'gender', 'id');
JhaoDa
@jhaoda
Apr 14 2017 17:58
@gaidai_nikita_twitter почему User относится к Gender как дочерний, а не наоборот? С точки зрения обычной логики должно быть как раз наоборот
Никита Гайдай
@gaidai_nikita_twitter
Apr 14 2017 18:00
То есть должно быть hasOne и belongsToMany? или я не так понял? @jhaoda
JhaoDa
@jhaoda
Apr 14 2017 18:01
@gaidai_nikita_twitter я не знаю, как должно быть, я спрашиваю. Но с моей точки зрения — да, должно быть наоборот
Никита Гайдай
@gaidai_nikita_twitter
Apr 14 2017 18:01
@jhaoda сейчас попробую изменить
JhaoDa
@jhaoda
Apr 14 2017 18:01
У человека есть характеристика «пол», но уж никак не наоборот
@gaidai_nikita_twitter ну и наверняка ты где-то накосячил с именами полей, потому что в целом разницы-то нет, как связи соотносятся
Никита Гайдай
@gaidai_nikita_twitter
Apr 14 2017 18:08
@jhaoda, я понял. при вызове $user->gender возвращается значение, которое указано в поле "gender_id" у конкретного юзера. То есть вызывается не объект модели, а значение из базы данных.
@jhaoda но я решил проблему добавлением метода getGender, который берет как раз этот gender_id и возвращает объект модели Gender с указанным идентификатором
Andrei Sosnov
@atehnix
Apr 14 2017 18:23
@jhaoda а я бы поспорил, но мне лень, у меня пятница)
ikskoder
@ikskoder
Apr 14 2017 20:07
@xenmayer не, не сработало. Понял, что проблема в APP_ENV. Если = local - все отлично, а как только меняю на production, сразу сыпется. Вообще не понимаю в чем прикол, до конца так и не разобрался...
ikskoder
@ikskoder
Apr 14 2017 21:27
Блин, это ж надо таким дятлом быть...
Кароч дело все в том, что в кастомной команде я вызываю другую команду, причем не в самой команде, а в другом классе (файле)
Artisan::call("db:seed");
которая при APP_ENV=production требует подтверждения. Вывода конфирма не происходит, поэтому нет ни подтверждения, ни отклонения, оно просто ждет... А на локалке, не нужно подтверждения поэтому, все норм.
В начале кастомной команды поставил
$this->call('db:seed');
вывод для конфирма появился, все заработало.
Почти целый день убил чтоб это понять. Рукалицо просто...
Спасибо всем, кто пытался наставить меня дятла на путь истинный)