These are chat archives for LaravelRUS/chat

29th
Nov 2016
Роман
@i-coder
Nov 29 2016 05:09
Вчерашний вопрос поднимаю - vagrant laravel/homestead
http://joxi.ru/p276LLJS0OVWKm
Sergey
@UnQuaiz
Nov 29 2016 05:11
@i-coder в чем вопрос то ?
@i-coder php -i | grep PDO покажи
@i-coder чему у тебя в config/database.php ключ default равен + php artisan env - тоже не лишним будет
Igor Markin
@markinigor
Nov 29 2016 05:53
@i-coder погугли как настраивать и запускать хомстетд на винде. На твоем скрине хомстедом не пахнет
Sergey
@UnQuaiz
Nov 29 2016 05:56
@igorvdonsk +1
Роман
@i-coder
Nov 29 2016 06:59
@igorvdonsk у меня все пахало )) ребят просто создал новый проект лары и немогу migrate сделать
Sergey
@UnQuaiz
Nov 29 2016 07:00
@i-coder "у меня всё пахало" не описывает нынешней ситуации
Роман
@i-coder
Nov 29 2016 07:00
@UnQuaiz секунду я все сейчас поднял на другой машине и проверю все и отпишусь
@UnQuaiz насчет ключа не понял вопрос
@UnQuaiz вот поднимаю
http://joxi.ru/bmo6OOlSMRbjQr
Sergey
@UnQuaiz
Nov 29 2016 07:05
ну и кстати говоря - заново поднять != найти решение проблемы
если найти решение - то в следующий раз не будет вопросов как исправить ситуацию.. а если избавиться от проблемы - то в следующий раз, если вариант с избавлением от проблемы не проканает, опять будешь задавать одни и те же вопросы )
Роман
@i-coder
Nov 29 2016 07:19
@UnQuaiz все равно таже лажа

@UnQuaiz
r.pogrebnyak@KAMALOIL-PC018 C:\Users\r.pogrebnyak\Homestead\Code\new.dcc.dev

php artisan env
Current application environment: local

@UnQuaiz
r.pogrebnyak@KAMALOIL-PC018 C:\Users\r.pogrebnyak\Homestead\Code\new.dcc.dev

vagrant ssh
Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-38-generic x86_64)

4 packages can be updated.
0 updates are security updates.
vagrant@homestead:~$ php -i | grep PDO
PDO
PDO support => enabled
PDO drivers => mysql, pgsql, sqlite
PDO Driver for MySQL => enabled
PDO Driver for PostgreSQL => enabled
PDO Driver for SQLite 3.x => enabled
vagrant@homestead:~$

Так а вот на локальной машине не то показывает

r.pogrebnyak@KAMALOIL-PC018 C:\Users\r.pogrebnyak\Homestead\Code\new.dcc.dev

php -i | grep PDO
PDO
PDO support => enabled
PDO drivers =>

Sergey
@UnQuaiz
Nov 29 2016 07:23
@i-coder php --ini сделай команду и там и там
у тебя ini файл не находит похоже, ну и я не специалист по homestead - но кажется мне что ты неправильно что-то делаешь
Роман
@i-coder
Nov 29 2016 07:25

@UnQuaiz
r.pogrebnyak@KAMALOIL-PC018 C:\Users\r.pogrebnyak\Homestead\Code\new.dcc.dev

php --ini
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File: (none)
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)

Sergey
@UnQuaiz
Nov 29 2016 07:29
@i-coder ну вот, как я и говорил. php.ini не загружается. ты либо php запускай из окружения homestead, либо настраивай php в винде
Роман
@i-coder
Nov 29 2016 07:30

@UnQuaiz да я забыл сервер запустить вот что тепер ьвыдает
r.pogrebnyak@KAMALOIL-PC018 C:\Users\r.pogrebnyak\Homestead\Code\new.dcc.dev

php --ini
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File: C:\OpenServer\modules\php\PHP-5.6\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)

@UnQuaiz УРА

r.pogrebnyak@KAMALOIL-PC018 C:\Users\r.pogrebnyak\Homestead\Code\new.dcc.dev

php artisan migrate
Migration table created successfully.
Migrated: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_100000_create_password_resets_table
Migrated: 2016_09_11_122507_create_mto_table
Migrated: 2016_09_11_154554_entrust_setup_tables
Migrated: 2016_09_19_071938_mto_upload_info
Migrated: 2016_09_19_093909_create_jobs_table
Migrated: 2016_11_17_110541_create_posts_table

@UnQuaiz спасибо!
KarmaBot
@KarmaBot
Nov 29 2016 07:30
Спасибо (+1) для @UnQuaiz принято! Текущая карма +5.
Sergey
@UnQuaiz
Nov 29 2016 07:31
@i-coder ну слава богу :)
Роман
@i-coder
Nov 29 2016 07:31
@UnQuaiz теперь думаю как сделать так что бы Код работал с базой которая на машине а не в vagrante
Soprun Vladislav
@vlsoprun
Nov 29 2016 07:39
Здорова мужики!
fakefakefake12
@fakefakefake12
Nov 29 2016 07:58
@vlsoprun здарова мужик.
@i-coder у тебя база на лок. машине, а код крутится на вагранте?
reidaigo
@reidaigo
Nov 29 2016 08:11
Хмм. Есть страница сохранения, на ней форма. В форме есть лишние доп инпуты (загрузка изображения нестандартная). <input name="file">. Нажимаю сохранить, вылетает ошибка "Column not found: file". Вроде ж как лара всегда сама отбирала нужные ей поля и вставляла в бд?? Или я не прав?
Sergey
@UnQuaiz
Nov 29 2016 08:13
@reidaigo не прав. можешь при вставке сделать Model::create( Input::except('file') )
@reidaigo откуда знать ларе про твои поля в бд )
reidaigo
@reidaigo
Nov 29 2016 08:15
@UnQuaiz блин, может то, что я в модельке все поля перечислял, поэтому знала? либо я раньше без доп полей был, но это странно..
@UnQuaiz да, надо в fillable поля писать, всегда так делал, а сейчас написал просто guarded, вот и ошибка
Sergey
@UnQuaiz
Nov 29 2016 08:19
@reidaigo ларавелька в отличии от yii (если мне не изменяется память) сама пихает в поля данные, если ты даже не описал их в модельке, а вот yii - вроде сматерится на такое хамство
не помню уже как в yii с этим
Igor Markin
@markinigor
Nov 29 2016 08:41
@i-coder сударь знает толк в извращениях.. зачем тебе вагрант если ты хочешь базу крутить на винде, и соответственно все консольные команды выполняешь на винде. ты определись либо ты работаешь с опенсервером либо с вагрантом, зачем гибрид делать
widg
@widg
Nov 29 2016 08:46
@igorvdonsk он в телеграме пишет, у него с вагрантом вечная проблема
Роман
@i-coder
Nov 29 2016 08:47
@widg уже нет проблем я просто учился как с ним работать )) а теперь я его перестроил так что он меня устраивает
widg
@widg
Nov 29 2016 08:47
@i-coder дык всё работает?
Роман
@i-coder
Nov 29 2016 08:48
@widg да - я просто хочу подлкючение к базе изменить для сохраности мало ли )
Роман Сохарев
@greabock
Nov 29 2016 08:49
...
священные коровы индийских полей... просто прекрати это
widg
@widg
Nov 29 2016 08:49
@i-coder тогда используй sqlite
Роман Сохарев
@greabock
Nov 29 2016 08:50
^ товарищ дело говорит, отстрели себе и вторую ногу
player0k
@player0k
Nov 29 2016 09:06
Всем привет
Есть ли возможность в laravel где-то в настройках указать сколько времени хранить сессию в файлах и чтоб он автоматически удалял устаревшие файлы сессии?
v. 5.3.23
fakefakefake12
@fakefakefake12
Nov 29 2016 09:20
@player0k config/session.php -> lifetime. По моему он должен сам файлы удалять по истечению.
player0k
@player0k
Nov 29 2016 09:29
спасибо @fakefakefake12
KarmaBot
@KarmaBot
Nov 29 2016 09:29
Спасибо (+1) для @fakefakefake12 принято! Текущая карма +4.
Rahim
@happyhaha
Nov 29 2016 09:42
Привет! Кто-нибудь пользуется пакетом backpack?
KarmaBot
@KarmaBot
Nov 29 2016 09:42
О! @happyhaha! Сто лет не виделись!) Как жизнь молодецкая? Рассказывай :)
Роман Сохарев
@greabock
Nov 29 2016 10:18
Кирилл фанател с него кажется...
Rahim
@happyhaha
Nov 29 2016 10:18
@greabock а ты не использовал его? )
Kirill Nesmeyanov
@SerafimArts
Nov 29 2016 10:18
@greabock я?
Роман Сохарев
@greabock
Nov 29 2016 10:19
Ты =)
Kirill Nesmeyanov
@SerafimArts
Nov 29 2016 10:19
Я просто заявил, что после совы это как манна небесная
И всё
Роман Сохарев
@greabock
Nov 29 2016 10:19
У меня как-то руки не дошли до него
Rahim
@happyhaha
Nov 29 2016 10:19
пакет вроде бы хороший, только вот с полиморфическими связями никак инфы не могу найти
вывести тайтл из таблицы перевода...
ставлю мутатор, он его не читает ..хз почему))
Если кто-нибудь сможет помочь, буду очень благодарен :+1:
Роман Сохарев
@greabock
Nov 29 2016 10:23
Как и до совы не дошли
Rahim
@happyhaha
Nov 29 2016 10:25
@greabock аа если до совы не дошли, то тут пока ждать не особо стоит))
Роман Сохарев
@greabock
Nov 29 2016 10:25
Ну вот как-то всё руками, руками
Rahim
@happyhaha
Nov 29 2016 10:27
@greabock а нет, мутатор спас все-таки) теперь осталось как обычно крад дописать
@greabock разговору нет, для небольших проектов самое то
Rahim
@happyhaha
Nov 29 2016 11:28
@greabock Плиз подскажи один момент,
1) Я создал свойство в модели - public $categoriesArray .
2) Добавил его в массив филлабл,
3) в форме указал name=categoriesArray
4) делаю так :
```
$model = new Article;
$model->fill( $request->all() );
dd( $model->categoriesArray );
а свойство пустое...
mass assignment не сработал, почему?
Anton Kartsev
@bigperson
Nov 29 2016 11:30
Привет всем. Народ подскажите, что надо сделать чтоб мои модели из моего пакета, который я установил через композер были доступны сразу после установки? а то выдает Class '...' not found
KarmaBot
@KarmaBot
Nov 29 2016 11:30
Приветствую тебя, @bigperson!
Роман Сохарев
@greabock
Nov 29 2016 11:30
@happyhaha не надо свойство содавать
Rahim
@happyhaha
Nov 29 2016 11:31
@greabock А как сделать так, чтобы я мог обратиться к нему?
Роман Сохарев
@greabock
Nov 29 2016 11:31
просто убери свойство
филлабл оставь
остальное магия разрулит
Kirill Nesmeyanov
@SerafimArts
Nov 29 2016 11:32
@happyhaha потому что ты создал своё поле, а не использовал свойства модели
Rahim
@happyhaha
Nov 29 2016 11:33
@SerafimArts сейчас попробую без создания свойства
Mikita Melnikau
@PinkyRabbit
Nov 29 2016 11:33
Kirill Nesmeyanov
@SerafimArts
Nov 29 2016 11:34
@happyhaha поля, а не свойства
ты создал поле
Rahim
@happyhaha
Nov 29 2016 11:34
@SerafimArts @greabock в attributes нет этого поля..
Kirill Nesmeyanov
@SerafimArts
Nov 29 2016 11:35
@happyhaha потому что его нет в БД
только не поля, а свойства :D
Rahim
@happyhaha
Nov 29 2016 11:35
@SerafimArts Все разобрался))
@SerafimArts окей))спасибо
KarmaBot
@KarmaBot
Nov 29 2016 11:36
Спасибо (+1) для @SerafimArts принято! Текущая карма +638.
Kirill Nesmeyanov
@SerafimArts
Nov 29 2016 11:36
поле - это тупо значение, свойство - это поле, которое меняет своё значение при получении данных и может менять данные при установке новых.
JhaoDa
@jhaoda
Nov 29 2016 11:36
@happyhaha документация для лохов, да?
Kirill Nesmeyanov
@SerafimArts
Nov 29 2016 11:36
по-этому в ларке это свойства (акссессоры + мутаторы)
Rahim
@happyhaha
Nov 29 2016 11:37
@SerafimArts :+1: Спс!)
KarmaBot
@KarmaBot
Nov 29 2016 11:37
Спасибо (+1) для @SerafimArts принято! Текущая карма +639.
Kirill Nesmeyanov
@SerafimArts
Nov 29 2016 11:37
в пыхе - это поля, а свойства реализуются через __get/__set
Rahim
@happyhaha
Nov 29 2016 11:38
@SerafimArts public $variable; в классе считается свойством, верно?
Kirill Nesmeyanov
@SerafimArts
Nov 29 2016 11:39
ой всё
+)
@happyhaha :point_up: 29 ноября 2016 г., 14:36 уже ответил на вопрос
@happyhaha сделай так, что бы при установке нового значения оно было на 42 больше, чем ты устанавливал, вот и ответ.
Rahim
@happyhaha
Nov 29 2016 11:48
свойство это то что описывает объект. Например public $color = 'red';
Kirill Nesmeyanov
@SerafimArts
Nov 29 2016 11:49
@happyhaha нет
предлагаю почитать вики на тему основ ооп, т.к. это всё же чатик по ларке
=)
как ты на это смотришь?
Rahim
@happyhaha
Nov 29 2016 11:50
@SerafimArts позитивно)))
Rahim
@happyhaha
Nov 29 2016 11:51
@SerafimArts thanks!)
KarmaBot
@KarmaBot
Nov 29 2016 11:51
Спасибо (+1) для @SerafimArts принято! Текущая карма +640.
Anton Kartsev
@bigperson
Nov 29 2016 12:29

Спрошу еще разок более развернуто. Пакет https://github.com/bigperson/auto-base-buy что мне нужно изменить в пакете, чтоб модели в своем проекте использовать без добавления в основной comoser.json проекта :

"psr-4": {
            "Bigperson\\AutoBaseBuy\\Models\\": "vendor/bigperson/auto-base-buy/src/models/"
        }

Как понимаю что-то с неймспейсами не так. Если не добавлять то ларавел ругается Class not found

shturnev
@shturnev
Nov 29 2016 12:31
а вы делали @bigperson это composer dump-autoload?
Anton Kartsev
@bigperson
Nov 29 2016 12:31
@shturnev да
shturnev
@shturnev
Nov 29 2016 12:31
@bigperson , и не помогло, странно..
@bigperson, у вас видимо явный провтык, если ещё не поздно рекомендую удалить всё, вернуть как было до установки библиотеки, и внимательно пошагово пройтись заново
JhaoDa
@jhaoda
Nov 29 2016 12:33
@bigperson «ругается Class not found» это как пукнуть в лужу. Конкретно расскажи, что написал, что получил.
@bigperson впрочем, я тебе и так скажу: ты уверен, что в строке https://github.com/bigperson/auto-base-buy/blob/master/composer.json#L17 должно быть пустое значение?
@bigperson если же ты уверен, то предлагаю открыть композер.жысон любого пакета и посмотреть, что там пишут они
fakefakefake12
@fakefakefake12
Nov 29 2016 12:36
Укажи src/
JhaoDa
@jhaoda
Nov 29 2016 12:36
@fakefakefake12 почему src/Models?
Я гляжу, тут народ массово не понимает пространства имен и суть композера...
Anton Kartsev
@bigperson
Nov 29 2016 12:37
@shturnev Это мой пакет. В нем ошибка. @jhaoda dd(\Bigperson\AutoBaseBuy\Models\CarMark::all()); - Class 'Bigperson\AutoBaseBuy\Models\CarMark' not found . Да не уверен.
JhaoDa
@jhaoda
Nov 29 2016 12:38
@bigperson только сервис-провайдер не забудь в src убрать
elianGH
@elianGH
Nov 29 2016 12:50

Привет. Ерор при любой команде в консоли artisan, сам сайт работает отлично.

The use statement with non-compound name 'Sentinel' has no effect

Хелп плз, в гугле решения не нашел

KarmaBot
@KarmaBot
Nov 29 2016 12:50
Прувет, @elianGH!
Юрий
@sawerus
Nov 29 2016 13:04
@elianGH предполагаю что где то лишний use
elianGH
@elianGH
Nov 29 2016 13:07
проверял.. вроде все ок
Все нашел, действительно лишний был.. забыл в роуте убрать.. спасибо @sawerus
KarmaBot
@KarmaBot
Nov 29 2016 13:08
Спасибо (+1) для @sawerus принято! Текущая карма +72.
Anton Kartsev
@bigperson
Nov 29 2016 13:53
@jhaoda @fakefakefake12 Спасибо, разобрался
KarmaBot
@KarmaBot
Nov 29 2016 13:54
Спасибо (+1) для @jhaoda принято! Текущая карма +1343.
Спасибо (+1) для @fakefakefake12 принято! Текущая карма +7.
D3-FC
@D3-FC
Nov 29 2016 14:21
Привет всем.
Вопрос.
Чем грозит использование мутатора на редейшине например belongsTo?
    public function position()
    {
        return $this->belongsTo(Position::class);
    }

    public function setPositionAttribute(Position $position)
    {
        $this->position()->associate($position);
    }
//использование
$model->position = Position::findOrFail(1);
KarmaBot
@KarmaBot
Nov 29 2016 14:21
О! @D3-FC! Сто лет не виделись!) Как жизнь молодецкая? Рассказывай :)
Sergey
@UnQuaiz
Nov 29 2016 14:23
@D3-FC хороший вопрос
D3-FC
@D3-FC
Nov 29 2016 14:26
@UnQuaiz а есть ли ответ такой же хороший?)
Sergey
@UnQuaiz
Nov 29 2016 14:29
@D3-FC я вижу только подводные камни в понимаемости кода, не вижу большого выигрыша. одну строчку кода меняешь на 4 строчки кода. причем в одной строчке всё понятно, а из этих строк $model->position = Position::findOrFail(1); не понятно ничего
@D3-FC не понятно что скрывается за $model->position в смысле

по факту у тебя получается

$model->position = Position::findOrFail(1);

против

$model->position()->associate($position);
во втором случае понятно что ты берешь рилейшен
D3-FC
@D3-FC
Nov 29 2016 14:34
@UnQuaiz это лучше понятно тому кто привык работать с елокуент.
первый вариант понятен в контексте ооп ровно также как и $model->name = 'name'
как в первом варианта понятно что ты назначаешь свойство объекта, так и во $model->position = Position
понтяно что ты назначаешь тоже свойство объекта, которое есть отношение к другому объекту
в доктрине например это выглядело бы так $entity->setPosition($position)
Sergey
@UnQuaiz
Nov 29 2016 14:39
"Приказ, который может быть неправильно понят, понимается неправильно"
D3-FC
@D3-FC
Nov 29 2016 14:39
@UnQuaiz это ты к чему?
Sergey
@UnQuaiz
Nov 29 2016 14:39
если это Eloquent модель - то надо в eloquent стайл и делать
@D3-FC я к тому что если есть вероятность что кто нибудь неправильно поймет этот участок кода - значит так оно и будет)
D3-FC
@D3-FC
Nov 29 2016 14:41
@UnQuaiz ну работаю один над проектом. да и тут магии никакой нет. в 2 клика можно посмотреть что это за свойство
Sergey
@UnQuaiz
Nov 29 2016 14:41
@D3-FC вопрос то главный - зачем ? может я не догоняю) для удобства ?
D3-FC
@D3-FC
Nov 29 2016 14:42
@D3-FC если говорить про Lara Way
то это скорее будет $doctor->toDepartment()
но кажется что $doctor->setDepartment() выглядит лучше
просто захотелось воспользоваться мутатором чтобы сететер не писать
$doctor->setDepartment() вот это поймёт лубой знакомый с ООП
:D
@UnQuaiz да чисто для удобства
Sergey
@UnQuaiz
Nov 29 2016 14:43
@D3-FC которых судя по чату всё меньше и меньше :-D
@D3-FC понятно. вобщем я хз. я б не стал так делать. а ты уж сам решай
D3-FC
@D3-FC
Nov 29 2016 14:44
да есть боязнь подводных камней. кто его знает что там лара в недрах творит
лучше сделаю класический сетер
Sergey
@UnQuaiz
Nov 29 2016 14:44
мне визуально удобнее $model->relation()->associate( $some )
семантически т.с.
D3-FC
@D3-FC
Nov 29 2016 14:45
Есть такое мнение по патернам, если у тебя две литералы вподряд. ты что-то делаешь неверно
под литералами имею в виду ->
Sergey
@UnQuaiz
Nov 29 2016 14:45
есть мнение что не всем паттернам следует следовать )
D3-FC
@D3-FC
Nov 29 2016 14:45
тоесть ты пропустил инкапсуляцию
это даже не патерн
а принцип GRASP
но дело конечно личное)
Sergey
@UnQuaiz
Nov 29 2016 14:47
@D3-FC но я почитаю ) авось переменю своё мнение
D3-FC
@D3-FC
Nov 29 2016 14:47
ооо))) потеряешься надолго
:D
@UnQuaiz это опасное дело патерны читать
но полезное
Sergey
@UnQuaiz
Nov 29 2016 14:48
@D3-FC только вот непонятно какой огород ты будешь городить для Eloquent например для вот такого User::active()->with('roles')->paginate(5)
по этому паттерну
@D3-FC я изредка в паттерны заглядываю )
D3-FC
@D3-FC
Nov 29 2016 14:49
патерн говорит, применяете уровни абстракции
ну эт своими словами интерпритируя
вот что ты хотел сделать той строчкой?
скажи своими словами
Sergey
@UnQuaiz
Nov 29 2016 14:51
@D3-FC в смысле? тебя её функциональная составляющая интересует ?))
D3-FC
@D3-FC
Nov 29 2016 14:51
@UnQuaiz нет. вот что заказчик сказал тебе сделать что ты написал эту строчку
скажи абстракцией
без деталей реализации
вот посмотри ролик с ларакона
он как раз про уровни абстракции
там вроде были похожие случаи
Sergey
@UnQuaiz
Nov 29 2016 14:53
@D3-FC я потом гляну - но советую не применять абстракции где они не оправданы
D3-FC
@D3-FC
Nov 29 2016 14:54
абстракции помогают читать
упрощают чтение кода
f-ostaev
@f-ostaev
Nov 29 2016 14:55
Подскажите в чем проблема, вылетает данная ошибка при отправке писем через Mail - TokenMismatchException in VerifyCsrfToken.php
Sergey
@UnQuaiz
Nov 29 2016 14:56
@D3-FC ну например для меня выносить в абстракцию код который один раз во всем проекте встречается - бессмысленная затея. потому что я итак понимаю что тут написано и что за этим скрыто
D3-FC
@D3-FC
Nov 29 2016 14:56
@UnQuaiz ну естественно не надо до маразма
:)
@UnQuaiz просто ты спросил зачем в моём случае это делаю
потому что $model->relation->associate
читается сложенее и переплетает уровни абстракции
нежели $model->setPosition()
Sergey
@UnQuaiz
Nov 29 2016 14:57
@D3-FC ну тогда ты должен делать это не через position = model, и там через магию. а делать метод setPosition( model )
D3-FC
@D3-FC
Nov 29 2016 14:58
position = model, читается не ак магия а как публичное свойство
name =' имя'
ничем не отличается
строка тоже объект, просто примитив
Kirill Nesmeyanov
@SerafimArts
Nov 29 2016 14:59

строка тоже объект, просто примитив

:fire:

Sergey
@UnQuaiz
Nov 29 2016 15:00
@D3-FC вобщем если идти по твоему пути - я бы выбрал setPosition() вместо setPositionAttribute().
D3-FC
@D3-FC
Nov 29 2016 15:00
@SerafimArts да можешь конечно засмеять) в пыхе она не объект, нов ооп всё объекты)))
Sergey
@UnQuaiz
Nov 29 2016 15:00
@D3-FC только не всё - ООП )
D3-FC
@D3-FC
Nov 29 2016 15:00
@UnQuaiz да такскорее и сделаю)
ребята не могу понять что за бага:
class Doctor extends Model
{
    protected $table = 'staff';
    protected $connection= 'wmh';

    public function department()
    {
        return $this->belongsTo(Department::class);
    }

    public function position()
    {
        return $this->belongsTo(Position::class);
    }
в релейшине возвращается int
вместо объекта
при обращении $this->department // 1
Sergey
@UnQuaiz
Nov 29 2016 15:04
@D3-FC а ты там ни накакой рилейшен не наабстрагировал часом ? :-D
D3-FC
@D3-FC
Nov 29 2016 15:05
нет
вот вся модель
Sergey
@UnQuaiz
Nov 29 2016 15:05
а дамп модели че говорит ?
Kirill Nesmeyanov
@SerafimArts
Nov 29 2016 15:05
@D3-FC пых - не ооп
D3-FC
@D3-FC
Nov 29 2016 15:06
@SerafimArts ну да не совсем)))
не совсем ООП
@UnQuaiz ща гляну
  #relations: array:2 [
    "position" => null
    "department" => null
  ]
  #hidden: []
  #attributes: array:10 [
    "id" => 1
    "department" => 1
    "position" => 1
аааа
Sergey
@UnQuaiz
Nov 29 2016 15:08
поле
D3-FC
@D3-FC
Nov 29 2016 15:08
понял
в таблице криво названо поле
@UnQuaiz спасибо за внимание) и за совет заглянуть в дамп)
KarmaBot
@KarmaBot
Nov 29 2016 15:09
Спасибо (+1) для @UnQuaiz принято! Текущая карма +6.
D3-FC
@D3-FC
Nov 29 2016 15:10
ой плохое число. @UnQuaiz to` jlyj cgfcb,J)
@UnQuaiz ещё одно спасибо чтобы сдвинуть)
Sergey
@UnQuaiz
Nov 29 2016 15:10
а вообще, на практике, во всяком случае на моей...проще писать mvp с багами велосипедами и прочей чехардой, чем заниматься абстрагированием, применением всевозможных паттернов. потому что пока ты пишешь свой идеальный код, сосед по цеху выпускает mvp на рынок, получает traction и приходит в выводу что надо двигаться в другом направлении. но ты это поймешь позже, когда напишешь все тесты, сделаешь идеальный код и всё оптимизируешь.
D3-FC
@D3-FC
Nov 29 2016 15:10
эх робот не глупый)
@UnQuaiz всё зависит от задачи. Если тебе этот код поддерживать годами. то ты будешь плакать каждый раз вовращаясь к макаронам
Тыж сам забудешь что ты там писал
Sergey
@UnQuaiz
Nov 29 2016 15:13
@D3-FC я к тому что первая сырая версия должна выкатываться как можно раньше. это просто другая философия разработки, и не везде она подходит. Больше для стартапов
D3-FC
@D3-FC
Nov 29 2016 15:18
@UnQuaiz ладно)
Sergey
@UnQuaiz
Nov 29 2016 15:27
@D3-FC свою cms с друганом написали в 2004 или 2005 на php с шаблонизатором на xml/xslt, с неймспейсами (подсмотрели в .NET) которые были только в планах в php. и надо сказать ни одного паттерна проектирования я в принципе не знал на тот момент. или во всяком случае не знал что это паттерны ))))))
работало прикольно, даже где то бэкап валялся. в код боюсь заглядывать )))))))))))
D3-FC
@D3-FC
Nov 29 2016 15:30
@UnQuaiz прекрасно понимаю тебя) сам похожим занимался.
:)))
и тоже толком нчиего не умел
и тоже теперь страшно заглядывать
только подсматривал с джава
со спринга
хотя чего таить сейчас познания в пыхе не сильно ушли вперёд :D
просто работая с ларвел мало нужны познания самого языка
точнее редко
например совсем недавно узнал про PDO
Anton Kartsev
@bigperson
Nov 29 2016 15:42
Народ подскажите как лучше логику отношений выстроить. Есть база автомобилей. Есть база товаров. Их нужно связать между собой. По идее подходит обычное отношение many-to-many. Все бы хорошо но в дальнейшем нужны достаточно частые обновления. Появляется новый товар и его надо привязывать к можеству автомобилей (например все автомобили как у аналогичного товара). Потом добавляется новый автомобиль и его надо привязать к множеству товаров (например все товары у аналогичного автомобиля предыдущего поколения). Помогите советом
alexspi
@alexspi
Nov 29 2016 15:45
@bigperson не проще заюзать ненавистный мною tec-doc и свою базу с запчастями и сравнивать их по оригинальному или торговому номеру
Anton Kartsev
@bigperson
Nov 29 2016 15:46
@alexspi Это не запчасти, увы
alexspi
@alexspi
Nov 29 2016 15:48
@D3-FC @UnQuaiz да все этим маялись, у меня тоже висел такой второстепенный проект дооолго , а тут понадобилось минимум редактирования я его открыл и ппц суслик здох
Sergey
@UnQuaiz
Nov 29 2016 15:48
@bigperson делайте как все делают: у каждого товара есть список моделей авто которым он принадлежит и всё. по этому списку можно получить и товары по модели авто, и модели авто по товару
Anton Kartsev
@bigperson
Nov 29 2016 15:49
@UnQuaiz Выходит новый автомобиль и как быть? редактировать каждый товар?
Sergey
@UnQuaiz
Nov 29 2016 15:50
@alexspi сделайте комплектации к которым может подходить. и авто привязывайте эту комплектацию
alexspi
@alexspi
Nov 29 2016 15:50
@UnQuaiz не не увольте, мне текдока хватаеть не буду делать ))
Sergey
@UnQuaiz
Nov 29 2016 15:52
@bigperson ну я хз как ещё. если товар подходит разным моделям - значит у них совпадают какие то параметры по которым он подходит, значит через эти параметры или их набор надо и привязывать
Anton Kartsev
@bigperson
Nov 29 2016 15:53
Тут кто-то на днях обсуждал про связи завязанные на атрибутах товаров кажись
Sergey
@UnQuaiz
Nov 29 2016 15:55
@alexspi это сократит количество привязок, что собственно вы и хотите. вышел новый товар - привязали комплектациям => получили привязку к всем авто с этой комплектацией. вышло авто - привязали комплектацию (одну или несколько ) => подтянулись все товары
по идее, на каком то этапе у вас появятся только разновидности одного и того же товара
Anton Kartsev
@bigperson
Nov 29 2016 15:56
@UnQuaiz Ну то есть отдельная модель которая связывает и товары и авто (many-to-many)?
Sergey
@UnQuaiz
Nov 29 2016 15:58
@bigperson у одного авто может быть несколько комплектаций, каждой из комплектаций может сопутствовать несколько товаров - да, many to many получается отдельная модель.
@bigperson иначе - придется привязывать товар к авто, и вот тут то вы и опухнете
хотя там ещё будут таблицы между авто и комплектациями, и между комплектациями и товарами
Anton Kartsev
@bigperson
Nov 29 2016 16:01
@UnQuaiz тогда от обратного. У каждой комплектации может быть множество автомобилей и товаров. На данном этапе мне будет этого достаточно. Спасибо.
KarmaBot
@KarmaBot
Nov 29 2016 16:01
Спасибо (+1) для @UnQuaiz принято! Текущая карма +7.
Anton Kartsev
@bigperson
Nov 29 2016 16:02
@UnQuaiz А в дальнейшем товары к комплектации можно привязать по атрибутам товаров, да и автомобилей тоже
Sergey
@UnQuaiz
Nov 29 2016 16:03
@bigperson да
Anton Kartsev
@bigperson
Nov 29 2016 16:06
А можно как-то сделать связь комплектация-комплектация, чтоб расширить уже созданную комплектацию? аналог extends
Zlatoslav Desyatnikov
@zlodes
Nov 29 2016 16:07
@bigperson , ну, что-то вроде parent_id и belongsTo
@bigperson и в таком случае надо собирать вверх до того момента, пока будет пусто в belongsTo и мержить снизу вверх
Anton Kartsev
@bigperson
Nov 29 2016 16:08
Например комлектация 3.0 поддерживает все товары и автомобили комлплектации 2.0, а та в свою очередь комплектацию 1.0, В итоге в 3.0 попадает все, что нужно
Sergey
@UnQuaiz
Nov 29 2016 16:08
@bigperson да, обычное дерево будет
Anton Kartsev
@bigperson
Nov 29 2016 16:09
@zlodes а можно пример?
Zlatoslav Desyatnikov
@zlodes
Nov 29 2016 16:09
@bigperson, пример чего именно?
Anton Kartsev
@bigperson
Nov 29 2016 16:10
@zlodes и в таком случае надо собирать вверх до того момента, пока будет пусто в belongsTo и мержить снизу вверх
Zlatoslav Desyatnikov
@zlodes
Nov 29 2016 16:10
@bigperson, а, сейчас набросаю.
Sergey
@UnQuaiz
Nov 29 2016 16:12
@bigperson while( $complectation = $complectation->parent ){ $all_params = array_merge( $all_params, $complectation->params->toArray() ) } чет типа такого )))
где parent - relation к той же самой модели по полю parent_id, $params - relation - к набору параметров
хотя конечно там сложнее будет, т.к. параметры это не просто набор полей может быть, а набор связанных моделей параметров содержащих тип и значение
Zlatoslav Desyatnikov
@zlodes
Nov 29 2016 16:15

@bigperson, да, я почти это имел в виду. Есть релейшн.

public function parent() {
   return $this->belongsTo(self::class);
}

И надо метод какой-то набросать, в котором будет происходить слияние в цикле.

Anton Kartsev
@bigperson
Nov 29 2016 16:16
@UnQuaiz @zlodes Спасибо. Попробую как руки дойдут
KarmaBot
@KarmaBot
Nov 29 2016 16:16
Спасибо (+1) для @UnQuaiz принято! Текущая карма +8.
Спасибо (+1) для @zlodes принято! Текущая карма +13.
Sergey
@UnQuaiz
Nov 29 2016 16:16
@zlodes ага, только foreign key указать parent_id для класса
а не туплю
сорян
Zlatoslav Desyatnikov
@zlodes
Nov 29 2016 16:20
@bigperson, не знаю насколько законно, но я бы как-то так попробовал.
$attributes = new Collection();

$parent = $this;
while ($parent) {
    $attributes = $attributes->merge($parent->attributes);
    $parent = $parent->parent;
}
$this->attributes = $attributes;
Sergey
@UnQuaiz
Nov 29 2016 16:22
@zlodes сохранять атрибуты в потомке - наверное не стоит, если только для кеширования где нибудь. ведь если у родителя атрибуты обновятся - придется обновить и потомков чтобы эти атрибуты появились.
Zlatoslav Desyatnikov
@zlodes
Nov 29 2016 16:23
@UnQuaiz, ну, этот вариант плох тем, что нельзя сохранять)
А так, можно отдельно где-то в поле сохранить.
Sergey
@UnQuaiz
Nov 29 2016 16:24
@zlodes да private сделать и в нем хранить после сборки по родителям. и отображать по геттеру атрибута
а ещё можно собрать ID всех родителей и их просто хранить, когда надо - делать просто выборку по ID и собирать
Nikita
@RedDevilHat
Nov 29 2016 18:06
Ребят, хитрый вопрос
у меня с чего-то content пустой выходит
Anton Kartsev
@bigperson
Nov 29 2016 18:15
@RedDevilHat лучше не хитрить а спрашивать более предметно
Nikita
@RedDevilHat
Nov 29 2016 18:17
@bigperson Да не хитрю
@extends('inner')

@section('content')
   test
@stop
Хедер вижу
Футор вижу
test не вижу
=|
Anton Kartsev
@bigperson
Nov 29 2016 18:21
@RedDevilHat @yield('content') то есть в inner? В контроллере точно ту вьюху возвращаешь?
Nikita
@RedDevilHat
Nov 29 2016 18:23
вьюха точно та
Dmitry Gusev
@GusevDV
Nov 29 2016 18:36
Добрый вечер! Господа, подскажите пожалуйста, еще только-только во всем разбираюсь, ковыряю один laravel проект и там есть функция загрузки изображений, работает через ajax, но не могу понять только почему для url: admin/image/upload верификация по CSRF отключена. Почему так? И безопасно ли это? https://github.com/mydnic/Larablog/blob/master/app/Http/Middleware/VerifyCsrfToken.php
KarmaBot
@KarmaBot
Nov 29 2016 18:36
Привет, @Dmivlagus! Проходи, присаживайся. В ногах правды нет :)
Anton Vorontsov
@symbios-zi
Nov 29 2016 19:20
@GusevDV думаю что небезопасно
@GusevDV обычно meta тег с токеном вставляется в хеад и при отправке ajax используется именно он. Насколько помню об этом должно быть сказано в документации
Dmitry Gusev
@GusevDV
Nov 29 2016 19:46
@symbios-zi Спасибо! Просто посмотрел уже два проекта, там загрузка изображений через wisiwyg редактор trumbowyg через AJAX и в обоих проектах для загрузки изображений отключена проверка CSRF токена. Честно говоря, не понял почему так сделано.
KarmaBot
@KarmaBot
Nov 29 2016 19:46
Спасибо (+1) для @symbios-zi принято! Текущая карма +198.
Роман Сохарев
@greabock
Nov 29 2016 20:18
@GusevDV скорее всего, этот trumbowyg не умеет работать с заголовками/доп.полями. Или умеет, но людям было лень заморачиваться
Dmitry Gusev
@GusevDV
Nov 29 2016 20:26
@greabock спасибо, вообще для загрузки изображений опасно так оставлять?
KarmaBot
@KarmaBot
Nov 29 2016 20:26
Спасибо (+1) для @greabock принято! Текущая карма +471.
Роман Сохарев
@greabock
Nov 29 2016 20:43
@GusevDV есть куча если. Если на сайте публичный CORS, если атакующий знает куда он атакует, если он знает (предполагает), что у тебя есть права на загрузку файлов на атакуемом ресурсе, если он знает об этой дыре, если он знает что ты зайдешь на ресурс, с которого будет производиться атака.
То есть вероятность, что он загрузит файл на сервер от твоего имени.
Dave
@aios
Nov 29 2016 21:10
Ребят спор у нас сейчас.
помогите разрешить
Одинарные кавычки во всем проекте или двойные
Soprun Vladislav
@vlsoprun
Nov 29 2016 21:11
@aios "Одинарные" - где нет потребности в изменении содержания в строке
Sergey Gladkovskiy
@smgladkovskiy
Nov 29 2016 21:11
+1
Soprun Vladislav
@vlsoprun
Nov 29 2016 21:12
То есть в 98% местах
Kirill Nesmeyanov
@SerafimArts
Nov 29 2016 21:12
@aios одинарные конечно
Dave
@aios
Nov 29 2016 21:12
я лох получается =(
Kirill Nesmeyanov
@SerafimArts
Nov 29 2016 21:12
интерполяция в пыхе - зло
Dave
@aios
Nov 29 2016 21:13
ну ладно
@SerafimArts @vlsoprun @smgladkovskiy спасибо
KarmaBot
@KarmaBot
Nov 29 2016 21:14
Спасибо (+1) для @SerafimArts принято! Текущая карма +641.
Спасибо (+1) для @vlsoprun принято! Текущая карма +273.
Спасибо (+1) для @smgladkovskiy принято! Текущая карма +11.