These are chat archives for LaravelRUS/chat

28th
Mar 2017
Coryphaeus
@cvdeveloper13
Mar 28 2017 03:57
Можно вопрос по проектированию? Использую ларавел)
Необходимо реализовать возможность создания материалов, с уникальным набором параметров, а также реализовать возможность создания материалов из других материалов. К примеру
$complexMaterial = new Material;
$complexMaterial->produce(100, $material1, $material2);
$complexMaterial->save();
Coryphaeus
@cvdeveloper13
Mar 28 2017 04:05
По сути - это производство. То есть из 2-4 материалов на складе - генерируется новый тип материала и отправляется на склад. Ещё новичок в построении (CRM|ERP)-подобных систем :) Существуют ли паттерны проектирования, для решения подобных проблем. Хотя бы куда копать подскажите)
Coryphaeus
@cvdeveloper13
Mar 28 2017 05:00
Похоже подойдет обычное дерево.
Artem Zinoviev
@31H0B1eV
Mar 28 2017 06:59
@cvdeveloper13 почитай про шаблоны проектирования. Тут сходу я бы предположил , что нужны Abstract factory, Prototype, Builder.
Soprun Vladislav
@vlsoprun
Mar 28 2017 07:28
Мужики здорова :smile:
alexspi
@alexspi
Mar 28 2017 07:28
@vlsoprun прив
Dmitry Konurov
@dkonurov
Mar 28 2017 07:31
Всем привет
KarmaBot
@KarmaBot
Mar 28 2017 07:31
Привет, @dkonurov! Проходи, присаживайся. В ногах правды нет :)
Alexander Khan
@akhan-weltkind
Mar 28 2017 08:32
Всем привет. Ребят нужно получить в ViewComposer куку.
вариант
$_COOKIE['name']
  • рабочий, но мне кажется как то по правильному можно это сделать?
    вариант
$request = new Request();
$request->cookie('name');
  • не работает, как передать в ViewComposer реальный Request ???
KarmaBot
@KarmaBot
Mar 28 2017 08:32
@akhan-weltkind, привет =)
JhaoDa
@jhaoda
Mar 28 2017 08:39
@akhan-weltkind почитать доку про контейнер и DI. Ну или про фасады с хелперами, на крайняк
Alexander Khan
@akhan-weltkind
Mar 28 2017 08:40
@jhaoda Читаю. Не могу найти
Alexandr Chernyaev
@tabuna
Mar 28 2017 10:13
Ребят кто знает как лучше сравнить даты, которые находяться в json. Формат не unixtimestamp
Ваня Devium
@webdevium
Mar 28 2017 10:25
@tabuna strtotime тебе в борщ насрал?
Alexandr Chernyaev
@tabuna
Mar 28 2017 10:27

@webdevium

$builder->whereDate('content->en->open', '>', '2015-12-22' )

В бд к примеру записи '2016-12-22 22:32:59'

Тут именно, что выборка не работает из-за того, что поле json похоже

Юрий
@sawerus
Mar 28 2017 10:28
похоже ?
Ваня Devium
@webdevium
Mar 28 2017 10:28
@tabuna а, такое... конверт какие-то ищи
rjlacanlaled
@rjlacanlaled
Mar 28 2017 10:32
Почему русские действительно умеют программировать?
Юрий
@sawerus
Mar 28 2017 10:33
@rjlacanlaled тебе сюда
kostcher
@kostcher
Mar 28 2017 10:35
Всем привет!
KarmaBot
@KarmaBot
Mar 28 2017 10:35
Привет, @kostcher! Проходи, присаживайся. В ногах правды нет :)
kostcher
@kostcher
Mar 28 2017 10:36
Ребят, что такое, в чем ошибка, понять не могу: 1. http://joxi.net/J2b9M8vHX5W4jm 2. http://joxi.net/V2VaQZqfxqDd0m 3. http://joxi.net/ZrJN8l3u9Dl9Br . Почему 404 если master есть?
rjlacanlaled
@rjlacanlaled
Mar 28 2017 10:39
@sawerus Я не русский. Я просто здесь, потому что я не могу найти хорошее сообщество Ларавель, чтобы найти ответы.
Alexandr Chernyaev
@tabuna
Mar 28 2017 10:41

@webdevium на голом написал, всё отлично

SELECT * FROM `posts` WHERE content->"$.ru.open"  > '2015-12-22'

Значит база может так работать то, надо искать в ларе или прям так записать

Ваня Devium
@webdevium
Mar 28 2017 10:42
@tabuna ну, лучше так как ::raw и напиши
возможно whereDate json не хавает
Alexandr Chernyaev
@tabuna
Mar 28 2017 10:43
@webdevium Да понятное дело, просто чёт как то обидно, попробую я вывести sql запрос из билдера и сравнить отличия
Ваня Devium
@webdevium
Mar 28 2017 10:43
пробуй, скажешь результат
Юрий
@sawerus
Mar 28 2017 10:44
@kostcher вызываешь вью как?
kostcher
@kostcher
Mar 28 2017 10:44
@sawerus return view('posts', ['posts' => $posts]);
Юрий
@sawerus
Mar 28 2017 10:48
@kostcher блин у тебя layouts уровнем выше !!!!
он должен быть во views
This message was deleted
kostcher
@kostcher
Mar 28 2017 10:49
@sawerus ой, точно) Спасибо, чет дико затупил
rjlacanlaled
@rjlacanlaled
Mar 28 2017 10:56
Ребята, вы используете метод share () для использования данных во всех представлениях?
Vadym Shcherbyna
@vadym-shcherbyna
Mar 28 2017 11:00
Подскажите пожалуйста, у меня в View Composer формируется collection. Как бы мне ее получить в контроллере?
Юрий
@sawerus
Mar 28 2017 11:00
@rjlacanlaled здесь не любят подобных вопросов! конкретно в примерах пиши что хочешь и что не получается!
если метод если в документации то явно кто то его использует.
JhaoDa
@jhaoda
Mar 28 2017 11:01
@vadym-shcherbyna это напоминает перректальную тонзилэктомию
Vadym Shcherbyna
@vadym-shcherbyna
Mar 28 2017 11:01
@jhaoda у меня кровь пошла из глаз
JhaoDa
@jhaoda
Mar 28 2017 11:01
@vadym-shcherbyna от своего кода?:)
Юрий
@sawerus
Mar 28 2017 11:01
@vadym-shcherbyna не наводит на мысль что вью компосер это всеже вью а не контроллер ? )
Vadym Shcherbyna
@vadym-shcherbyna
Mar 28 2017 11:02
@jhaoda У меня идеальный код
@sawerus в View Composer не нужно использовать модели?
Юрий
@sawerus
Mar 28 2017 11:03
а модель это модель а не контроллер
))
Vadym Shcherbyna
@vadym-shcherbyna
Mar 28 2017 11:05
Спросим по другому. В View Composer есть запись $view->with('categories', Category::GetCategories()->get()); И я не хочу в контроллере второй раз вызывать Category::GetCategories()->get()
JhaoDa
@jhaoda
Mar 28 2017 11:05
@vadym-shcherbyna кэшируй. Или в контейнер засунь
Vadym Shcherbyna
@vadym-shcherbyna
Mar 28 2017 11:06
@jhaoda Во-о-о-т.. контейнер.. спасибо.
KarmaBot
@KarmaBot
Mar 28 2017 11:06
Спасибо (+1) для @jhaoda принято! Текущая карма +1478.
Anton Vorontsov
@symbios-zi
Mar 28 2017 11:58
enum в ларавеле и mysql кто нибудь использовал? Есть ли проблемы? Стоит ли? 3 значения у меня
Denis Kazachenkov
@basson
Mar 28 2017 11:58
@symbios-zi ммм
@symbios-zi https://github.com/LaravelRUS/laravel.ru/blob/2.0/server/app/Models/Article.php
кирил юзает на ларавел.су 2.0
))
Anton Vorontsov
@symbios-zi
Mar 28 2017 12:00
@basson не увидел здесь enum
Denis Kazachenkov
@basson
Mar 28 2017 12:01
@symbios-zi глянь там в меграции таблицы да и дальше по коду
@symbios-zi https://github.com/LaravelRUS/laravel.ru/blob/2.0/server/app/Models/Article/Status.php или не оно??
Anton Vorontsov
@symbios-zi
Mar 28 2017 12:03
@basson ну я не про костыли на php, а про тип в мускуле enum
Denis Kazachenkov
@basson
Mar 28 2017 12:03
@symbios-zi ааа
народ тут вроде не советовал, но я так мельком и не понял почему))
JhaoDa
@jhaoda
Mar 28 2017 12:04
@basson зачем ты эти ссылки заворачиваешь?
Anton Vorontsov
@symbios-zi
Mar 28 2017 12:04
что то такое слышал тоже, вот и хочу аргументы узнать
@jhaoda ты что то имеешь против enum в мускуле?
Denis Kazachenkov
@basson
Mar 28 2017 12:05
@jhaoda красивенько))).
@jhaoda шуту почему то машинально получается
Anton Vorontsov
@symbios-zi
Mar 28 2017 12:07
@SerafimArts а что не так c enum в мускуле? Для чего костыль CommerceGuys\Enum\AbstractEnum; ? потому что постгрес и там нет такого типа?
Anton Vorontsov
@symbios-zi
Mar 28 2017 12:07
@Cyber-host посвежее нет статьи? =)
Cyber Xucyc
@Cyber-host
Mar 28 2017 12:07
@symbios-zi xD сути не меняет)
Anton Vorontsov
@symbios-zi
Mar 28 2017 12:10
у меня только 3 записи в той таблице. больше всего за дороговизну перфоманса винят. думаю не мой случай. пойду попробую
Андрианов Сергей
@Batisska
Mar 28 2017 12:50
Ребят подскажите расширение для хлебных крошек.
Maksim (Ellrion) Platonov
@Ellrion
Mar 28 2017 13:15
@symbios-zi Я использую енумы но только в пыхе. В мускуле обычная строка. Доволен. Полет нормальный
JesterAntik
@JesterAntik
Mar 28 2017 13:21
Доброго времени!
JesterAntik
@JesterAntik
Mar 28 2017 13:30

Где-то читал или нафантазировал, что вместо запуска

$collection->each(function($item){ 
             $item->action();
});

Можно запустить

$collection->action()

Но что-то видимо я не допонял

или это только в 5.4?
Orel
@2byte
Mar 28 2017 13:32
@JesterAntik в 5.4 $collection->each->action()
JesterAntik
@JesterAntik
Mar 28 2017 13:33
а в 5.3 этого еще нет?
@2byte спасибо
Praddby
@Praddby
Mar 28 2017 17:17
Всем привет
KarmaBot
@KarmaBot
Mar 28 2017 17:17
Hello, @Praddby!
Praddby
@Praddby
Mar 28 2017 17:18
Подскажите пожалуйста, при переводе небольшого проекта с 5.2 на 5.3 с какими трудностями можно столкнуться? Это долго?
JhaoDa
@jhaoda
Mar 28 2017 17:22
@Praddby откуда ж нам знать?
Praddby
@Praddby
Mar 28 2017 17:25
@jhaoda Ну может кто переходил и знает какие есть "подводные камни". Пока были проблемы в 2-мя провайдорами и с шаблоном.
JhaoDa
@jhaoda
Mar 28 2017 17:26
@Praddby у каждого в проекте свои камни
Praddby
@Praddby
Mar 28 2017 17:27
@jhaoda Ясно, думал есть стандартные различие 5.2 от 5.3.
JhaoDa
@jhaoda
Mar 28 2017 17:28
@Praddby всё, что Тэйлор вспомнил, описано в разделе «обновление на 5.3» доки
Praddby
@Praddby
Mar 28 2017 17:31
@jhaoda спасибо
KarmaBot
@KarmaBot
Mar 28 2017 17:31
Спасибо (+1) для @jhaoda принято! Текущая карма +1479.
Ваня Devium
@webdevium
Mar 28 2017 17:32
@jhaoda Темыч, ты сейчас на югах?
Anton Vorontsov
@symbios-zi
Mar 28 2017 17:49
@Ellrion да в итоге строкой и сделал тоже.
Andrei Sosnov
@atehnix
Mar 28 2017 18:51

@basson

народ тут вроде не советовал, но я так мельком и не понял почему))

ну например по двум причинам, обведенным в красную рамку в доке по миграциям: ;)
https://laravel.com/docs/5.4/migrations#modifying-columns

Denis Kazachenkov
@basson
Mar 28 2017 18:52
@atehnix Брат) я выпил, но спасибо сейчас прочту)) и утром тоже)
@atehnix я как понял основной затык в том что потом при желании изменить енум поля будет геморой?
Andrei Sosnov
@atehnix
Mar 28 2017 18:57
@basson ага. И при переименовании любых полей в любой таблице, в которой также есть enum, тоже.
Подозреваю, что есть обходные пути, но предпочитаю не разбрасывать грабли, чтобы в последствии не требовалось их обходить)
Denis Kazachenkov
@basson
Mar 28 2017 19:52
@atehnix а что ты посоветуешь для скажем так типизированных полей в бд которые по логике своей меняться не должны по всей жизни сайта
@atehnix юзать json или еще что либо? простое текстовое поле?
Andrey
@daaner
Mar 28 2017 19:54
Уважаемые! А при логине в базу записать что-то (к примеру IP) это куда писать в логин контроллер? в __construct?
Igor Markin
@markinigor
Mar 28 2017 20:10
@Daaner а ты ковырял сам метод логина, каким образом он устроен, и как ты хочешь в конструкторе контроллера повлиять на метод логина?
Andrey
@daaner
Mar 28 2017 20:14

@markinigor ща ковыряю,

public function getLogin(){

думаю как туда передать мою переменную $ipAddress

Igor Markin
@markinigor
Mar 28 2017 20:18
@Daaner "Нет такой буквы.. Крутите барабан.." такого метода я что-то не наблюдаю в ларавели, видимо у тебя уже какой-то проект сделан и аутентификация не из коробки
Andrey
@daaner
Mar 28 2017 20:20
@markinigor я искал гуглем) методы искать в вендор / ларавел/бла-бла?
Igor Markin
@markinigor
Mar 28 2017 20:20
@Daaner посмотри как устроен коробочный вариант https://github.com/laravel/laravel/blob/master/app/Http/Controllers/Auth/LoginController.php ну и найди какой метод тебе лучше переопределить
Denis Kazachenkov
@basson
Mar 28 2017 20:20
/vendor/laravel/framework/src/Illuminate/Foundation/Auth/AuthenticatesUsers.php
Igor Markin
@markinigor
Mar 28 2017 20:20
@basson спойлерист
Denis Kazachenkov
@basson
Mar 28 2017 20:20
а разве ну тут логика авторизацииЮ
?
@markinigor ой сорри сорри))
Andrey
@daaner
Mar 28 2017 20:22
public function login ()
так начать копать?
Andrei Sosnov
@atehnix
Mar 28 2017 20:22
@basson приведи пример, что ты подразумеваешь под "типизированными полями".
Igor Markin
@markinigor
Mar 28 2017 20:23
@Daaner копай копай, и еще попробуй копни в сторону доки и эвентов
вот тут еще копни https://laravel.com/docs/5.4/authentication
Denis Kazachenkov
@basson
Mar 28 2017 20:24
@atehnix не типизированными, вот как я понимаю самое распространенное и простое испольнование enum как вариант списка для выбора какого то параметра который не должен изменятся с любыми изменениями сайта
@atehnix по типу статей есть три варианта[draft, review, published] написаны проверяются опубликованны это типа статуса который закладывается при проектировании и не изменяется не когда)
Igor Markin
@markinigor
Mar 28 2017 20:26
@basson ну обычно "не должен изменятся" рано или поздно начинает меняться и обрастать подробностями, я б в таком случае делал отдельные таблицы, не жалея ресурсов
Denis Kazachenkov
@basson
Mar 28 2017 20:27
@markinigor это понятно все течет все меняется))
JhaoDa
@jhaoda
Mar 28 2017 20:27
@basson тебе тоже предлагаю узнать разницу между аутентификацией и авторизацией
Denis Kazachenkov
@basson
Mar 28 2017 20:27
@jhaoda ой злой дядя)). не предлагай прям сейчас пойду и почитаю)
Denis Kazachenkov
@basson
Mar 28 2017 20:34
@jhaoda злой дядь я не трезв поэтому спрошу в офтопе
Andrei Sosnov
@atehnix
Mar 28 2017 20:40
@basson ну, во-первых, нет ничего постоянного (как уже сказали выше).
Сегодня ты уверен что других статусов не будет, а через месяц придет дядя и скажет, что позарез нужен еще один статус. :)
Я ни на чем не настаиваю, можно юзать и enum. Но я его не юзаю)
Варианты: varchar/tinyint + индекс. Ну а в коде можно юзать константы.
Denis Kazachenkov
@basson
Mar 28 2017 20:41
@atehnix так я тоже не настаиваю на енуме))).
@atehnix я как раз и хотел увидеть и понять почему енум это зло)). акромя дяди в вакуме который прийдет и поломает тупую и простую логику
Andrei Sosnov
@atehnix
Mar 28 2017 21:02
@basson да он не то чтобы прям зло) Просто имеет свои особенности.
Кстати, в SQL-спецификации вообще нет такого типа данных как enum :).
Denis Kazachenkov
@basson
Mar 28 2017 21:41
@atehnix я то тупой вот и интересуюсь всем во круг))