These are chat archives for LaravelRUS/chat

10th
Mar 2017
Ivan
@Hunternnm
Mar 10 2017 04:50
@md670 авторизация или аутентификация?
Vadym Shcherbyna
@vadym-shcherbyna
Mar 10 2017 05:36
Здравствуйте, подскажите пожалуйста по передаче данных в blade шаблон. У меня на всех страницах выводятся категории - категории тянутся из базы. Куда впихнуть запрос к модели что бы не дублировать его во всех контроллерах?
KarmaBot
@KarmaBot
Mar 10 2017 05:36
Hello, @vadym-shcherbyna!
Igor Markin
@markinigor
Mar 10 2017 05:36
@vadym-shcherbyna view composers
Vadym Shcherbyna
@vadym-shcherbyna
Mar 10 2017 05:37
@markinigor спасибо!
KarmaBot
@KarmaBot
Mar 10 2017 05:37
Спасибо (+1) для @igorvdonsk принято! Текущая карма +24.
@KarmaBot, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
adminko
@adminko
Mar 10 2017 07:24
Парни подскажите самый разневероятно крутой документатор апи по коду для лары
Arsen Soroka
@arsen-s
Mar 10 2017 07:26
@DmitryChere не разобрался еще с юзером?
Dmitry
@DmitryChere
Mar 10 2017 07:54
@arsen-s привет, неа, так и не работает
Arsen Soroka
@arsen-s
Mar 10 2017 08:31
@DmitryChere это новый проект?
Dmitry
@DmitryChere
Mar 10 2017 08:31
@arsen-s
да
lara 5.4
Arsen Soroka
@arsen-s
Mar 10 2017 08:32
@DmitryChere попробуй склонировать с github и заново сделать
Dave
@aios
Mar 10 2017 08:39
@adminko невероятно крутой?
это как?
Dmitry
@DmitryChere
Mar 10 2017 08:41
@aios в цепях и браслетах
Dave
@aios
Mar 10 2017 08:42
@DmitryChere и с шариком во рту?
Dmitry
@DmitryChere
Mar 10 2017 08:42
@aios ахах, та не, то уже другая история
Dave
@aios
Mar 10 2017 08:43
@DmitryChere та не... кажется что та же самая)
Дмитрий Мязин
@d4c0
Mar 10 2017 08:47

Ребята, создаю pivot таблицу, делаю оба поля с айдишниками композитным PK и добавляю FK:

Schema::create('item_sticker', function (Blueprint $t) {
    $t->unsignedInteger('item_id');
    $t->unsignedInteger('sticker_id');
    $t->primary(['item_id', 'sticker_id']);
    $t->foreign('sticker_id')->references('id')->on('stickers');
    $t->foreign('item_id')->references('id')->on('items');
});

Но в итоге получается такое: http://www.fotolink.su/v.php?id=11a4ad545e205f59968eab8b2bfbabd3

т.е. индекс добавляется только к последнему полю указанному в $t->primary([...]), почему так происходит?
А в примере Laravel-5-Generators-Extended вообще не создаётся композитный PK:

Schema::create('post_tag', function(Blueprint $table)
{
    $table->integer('post_id')->unsigned()->index();
    $table->foreign('post_id')->references('id')->on('posts')->onDelete('cascade');
    $table->integer('tag_id')->unsigned()->index();
    $table->foreign('tag_id')->references('id')->on('tags')->onDelete('cascade');
});

Но как тогда обеспечивается уникальность записей? Или ORM это контролирует?

MD
@md670
Mar 10 2017 09:00
@Hunternnm а это случайно не одно и тоже? Мне нужно только авторизоваться в админ панели, без регистрации. Кажись я придумал как это сделать
Alexander
@Dualse
Mar 10 2017 09:01
@md670 Это разные вещи
MD
@md670
Mar 10 2017 09:03
@Dualse а можно подробнее чем разные?
Или аутентификация подразумевает и авторизацию и регистрацию?
Alexander
@Dualse
Mar 10 2017 09:04
@md670 нет
Аутентификация - индентификация пользователя. К прим. ввел логин и пароль, и пошел гулять по сайту. А вот если ты уже собрался редактировать свой профиль, то тут идет авторизация, т.к. проверяется имеешь ли ты права на изменение данных
Хотя могу ошибаться
Ivan
@Hunternnm
Mar 10 2017 09:06
@Dualse в общих чертах правильно
MD
@md670
Mar 10 2017 09:07
По вашим словам, тогда нужна мне авторизация, как будут изменяться некоторые настройки
Alexander Zhuravlev
@SCIF
Mar 10 2017 09:07
@md670 , пока не пройдена аутентификация никакой авторизации быть не может, если что.
MD
@md670
Mar 10 2017 09:09
:smile: Запутали меня)
Alexander Zhuravlev
@SCIF
Mar 10 2017 09:10
@md670, ввод пароля — аутентификация. А когда уже ввёл и сайт завёл на тебя сессию (ессно проверив правильность юзер-пароля), что ты Вася Пупкин, но потом ты как злостный хакер ползёшь в админку, то админка проверяет права может ли Вася Пупкин лазить в неё — это авторизация.
Алексей
@yelrik
Mar 10 2017 09:12
@SCIF +1
KarmaBot
@KarmaBot
Mar 10 2017 09:12
@md670, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Dave
@aios
Mar 10 2017 09:13
@md670 лол
MD
@md670
Mar 10 2017 09:13
@SCIF спасибо
KarmaBot
@KarmaBot
Mar 10 2017 09:13
Спасибо (+1) для @SCIF принято! Текущая карма +107.
Dmitry
@DmitryChere
Mar 10 2017 09:19
@arsen-s склонировал с гита - то же самое(
<?php

namespace App\Http\Controllers;

use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use App\User;
use Auth;

class Controller extends BaseController
{
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests;

    public function index()
    {
        $user = User::find(1);
        Auth::login($user, true);
        dd(Auth::check()); // true
    }

    public function dev()
    {
        dd(Auth::check()); // false
    }
}
KarmaBot
@KarmaBot
Mar 10 2017 09:19
@likeapimp, чтобы показать длинный листинг кода желательно использовать pastebin-сервис, например gist.github.com или laravel.io/bin.
S.Vishnevskii
@HeroFirst
Mar 10 2017 09:24
Доброго дня товарищи, коллеги ) У кого найдется минуточка, подскажите, в роутах принимаем домен 3-го уровня sub.mysite.ru, то что в sub мы и обрабатываем, как прописать в .htaccess чтобы принимать как-то параметр sub. ,либо сам субдомен. Заранее большое спасибо =)
KarmaBot
@KarmaBot
Mar 10 2017 09:24
Привет, @NEXT-WEB! Проходи, присаживайся. В ногах правды нет :)
@NEXT-WEB, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Arsen Soroka
@arsen-s
Mar 10 2017 09:26
@DmitryChere а попробуй тоже самое сделать в другом(создай новый) контроллере
Dmitry
@DmitryChere
Mar 10 2017 09:41
@arsen-s тот же результат
PhpNet
@PhpNet
Mar 10 2017 09:41
Приветствую. Нубский вопрос. Почему artisan может не видеть константу, объявленную в подключаемом файле? В index.php: include app/defines.php, в app/defines.php: define('INLINE_EDITOR_COOKIE', 'inlineEditorEnabled');. Выполняю в консоли:
php artisan make:migration migration_name и в ответ ошибка:
[ErrorException] Use of undefined constant INLINE_EDITOR_COOKIE - assumed 'INLINE_EDITOR_COOKIE' как бороться?
KarmaBot
@KarmaBot
Mar 10 2017 09:41
Hello, @PhpNet!
Arsen Soroka
@arsen-s
Mar 10 2017 09:44
@DmitryChere debugbar стоит? пробуй дебажить
Andrei Sosnov
@atehnix
Mar 10 2017 09:53
@PhpNet добавь include внутрь файла artisan, если хочешь чтобы оно при выполнении в консоли инклудилось.
PhpNet
@PhpNet
Mar 10 2017 09:54
@atehnix хм.. какое то костыльное решение... может тогда лучше в /bootstrap/app.php? он вроде артизаном инклудится
Andrei Sosnov
@atehnix
Mar 10 2017 09:55
@PhpNet если нужно чтобы везде инклудилось, то в /bootstrap/app.php, да.
PhpNet
@PhpNet
Mar 10 2017 09:56
@atehnix спасибо, заработало теперь :)
KarmaBot
@KarmaBot
Mar 10 2017 09:56
Спасибо (+1) для @atehnix принято! Текущая карма +210.
Perevozchykov Kostiantyn
@skvoz
Mar 10 2017 09:57
всем привет , подскажите как мокать хелперы , в частности fractal()
KarmaBot
@KarmaBot
Mar 10 2017 09:57
@skvoz, привет, как настроение?
Dmitry
@DmitryChere
Mar 10 2017 10:31
@arsen-s нашел проблему, это ппц просто) если после Auth::login($user, true); вызвать dd(Auth::check() то все обрывается
в общем так работает
public function index()
    {

        $user = User::where('email', 'mail@gmail.com')->first();
        Auth::login($user, true);

        return view('main');
    }

    public function dev()
    {
        var_dump(Auth::user()); // true
    }
Arsen Soroka
@arsen-s
Mar 10 2017 10:40
@DmitryChere магия?
Alexander Avakov
@pinguinjkeke
Mar 10 2017 10:42
Всем добрый день!
KarmaBot
@KarmaBot
Mar 10 2017 10:42
Hello, @pinguinjkeke!
Dmitry
@DmitryChere
Mar 10 2017 10:42
@arsen-s хз
не сталкивался еще с такой проблемой
ранее
@arsen-s спасибо за помощь
KarmaBot
@KarmaBot
Mar 10 2017 10:44
Спасибо (+1) для @arsen-s принято! Текущая карма +169.
vava
@vaz9
Mar 10 2017 11:20
не подскажите хорошую библиотечку для создания FAQ?
Kirill Nesmeyanov
@SerafimArts
Mar 10 2017 11:21
@vaz9 руки и голова+
Arsen Soroka
@arsen-s
Mar 10 2017 11:21
@vaz9 попробуй php artisan faq:generate
Kirill Nesmeyanov
@SerafimArts
Mar 10 2017 11:21
xD
vava
@vaz9
Mar 10 2017 11:22
я не бек программист, фронт + проектирование. Спрашиваю у вас, т.к. проект пишется на Ларе
Kirill Nesmeyanov
@SerafimArts
Mar 10 2017 11:22
@arsen-s толсто очень =)
vava
@vaz9
Mar 10 2017 11:22
Неужели нет готового опен сорс модуля?
Kirill Nesmeyanov
@SerafimArts
Mar 10 2017 11:22
@vaz9 может и есть
но это не cms
Arsen Soroka
@arsen-s
Mar 10 2017 11:23
@vaz9 так пусть делает тот кто бэкендщик
Kirill Nesmeyanov
@SerafimArts
Mar 10 2017 11:23
такие "модули" за 2 минуты пишутся
Arsen Soroka
@arsen-s
Mar 10 2017 11:25

@vaz9

проект пишется на Ларе

а кто его пишет? ты?

dihalt
@dihalt
Mar 10 2017 11:27

Братцы, посоветуйте как быть по уму. На бек прилетает массив вида:

array:8 [
  "id" => "4"
  "lastname" => "Иванов"
  "firstname" => "Иван"
  "contact" => array:3 [
    "id" => ""
    "phones" => array:1 [
      0 => "222-33-22"
    ]
    "email" => "support@microsoft.com"
  ]
]

В массиве мы видим ещё один вложенный вложенный (контакты), который есть связанная модель. IDшник контактов может быть пустой, потому как подразумевается, что нужно добавить запись в БД для этого человека, или, если ID заполнен, надо обновить данные. Вопросов в сущности два:
1) Слать массив в таком виде на бек и разгребать это всё в одном контроллере?
2) Или идти в обход и слать контакты на свой контроллер?

Мне второй вариант не нравится, при первом смущает то, что таких ситуация может быть N для совершенно разных моделей, и встаёт вопрос как упростить обработку, что бы каждый раз не пригодилось писать "разгребалку" для каждого случая.

Arsen Soroka
@arsen-s
Mar 10 2017 11:30
@dihalt в юзера есть связь contact?
и я бы это в сервис какой то вынес
dihalt
@dihalt
Mar 10 2017 11:33
@arsen-s ага, есть
@arsen-s почему в сервис? В такой логике под обновление моделей со связями плодить некие сервисы? Не жирно ли будет? Или подразумевается "один универсальный"?
vava
@vaz9
Mar 10 2017 11:34
@arsen-s нет)
@arsen-s прогеры, сказали что над два дня им. Но я хочу найти что то готовое, на чем уже шишки набили и сделали хоть какую то вменяемую модель
Arsen Soroka
@arsen-s
Mar 10 2017 11:37
@dihalt думаешь будет лучше если ты контроллеры напичкаешь этой логикой?
dihalt
@dihalt
Mar 10 2017 11:37
@arsen-s хм. в моём случае контроллеру больше заняться нечем. Там буквально три-четыре метода на простые операции.
создать, обновить и пр.
Arsen Soroka
@arsen-s
Mar 10 2017 11:38
@vaz9 если прогеры сказали - значит надо ждать
Andrei Sosnov
@atehnix
Mar 10 2017 11:41
@dihalt конкретно для контактов - я бы хранил общим полем в json виде, т.к. по ним по сути выборки вряд ли придется делать. А для более сложных связей - обычно шлю отдельным запросом. Не оптимально, но зато без гемороя)
dihalt
@dihalt
Mar 10 2017 11:42
@atehnix мде. вопрос не о том, как хранить. Вопрос в том, как организовать по уму отношения бек-фронт
исходя из предложенных реалий
Arsen Soroka
@arsen-s
Mar 10 2017 11:43
@dihalt я бы на один метод это отправлял
Andrei Sosnov
@atehnix
Mar 10 2017 11:43
@dihalt ну вот я так и шлю, как у тебя в примере. Просто contact сериализую , вместо того чтобы со связью работать.
Т.е. таблицы контактов у меня нет вовсе. Но фронту об этом знать не обязательно :)
Arsen Soroka
@arsen-s
Mar 10 2017 11:45
@atehnix т.е ты поиск не делаешь по номеру тел, например?
или по json ищешь
vava
@vaz9
Mar 10 2017 11:46
@arsen-s так я готов подождать, но зач придумывать колесо? почему не взять готовый метод, проверенный и уже работающий?
Andrei Sosnov
@atehnix
Mar 10 2017 11:46
@arsen-s да, не делаю. Логика приложения в моем случае этого не требует.
Но по идее можно и с поиском заморочиться, если постгрес, например..)
Arsen Soroka
@arsen-s
Mar 10 2017 11:48
@vaz9 я бы тебе посоветовал взяться за другое дело, а работу прогеров оставить прогерам, пусть они решают надо делать колесо или нет
vava
@vaz9
Mar 10 2017 11:57
@arsen-s кек, ладушки
@arsen-s сейчас все брошу и пусть прогеры сами пишут бизнес модели, проектируют и вообще выполняют вчерашние сроки. мы же только мешаем прогерам
Alexander
@Dualse
Mar 10 2017 11:59
@vaz9 Ну каждый должен заниматься своим делом
vava
@vaz9
Mar 10 2017 12:00
@Dualse а я и не пишу код и не пишу ролевую модель, вообще в бек не лезу. макс могу потоптаться на теме рендеринга
Alexander
@Dualse
Mar 10 2017 12:00
@vaz9 Ну вот, зачем заморачиваешься тогда?
vava
@vaz9
Mar 10 2017 12:01
@Dualse ну вот такой я человек, я много видел моментов когда у каждых ролей выполняющих проект разный взгляд и решение одних и тех же проблем.
Igor Barkowsky
@igorbarkowsky
Mar 10 2017 12:02
День добрый
KarmaBot
@KarmaBot
Mar 10 2017 12:02
Приветствую тебя, @igorbarkowsky!
vava
@vaz9
Mar 10 2017 12:03
@Dualse когда у группу прогеров куча задач в большой и сложной системе и нужно добавить новое ответвление в виде самостоятельного модуля, не лучше найти готовые кейсы, нарисовать прототипчики, бизнес модель + логику, и на всем этом написать готовое тз, к которому не примахается зак, т.к. полностью обговорено что и как будет работать на выходе
Igor Barkowsky
@igorbarkowsky
Mar 10 2017 12:03
Кто-нибудь настраивал xdebug в докере для phpStorm?
dihalt
@dihalt
Mar 10 2017 12:03
@atehnix у мну другой случай, сериализировать контакты не выйдет
vava
@vaz9
Mar 10 2017 12:04
@Dualse я хорошо знаю вас, о да вы можете сделать быстрое и качественное решение задачи, или групп. а потом что? мало того, что код может не соответствовать стандартам комм. кода, так еще и не возможен для расширения и поддержки. а кто виноват?
JhaoDa
@jhaoda
Mar 10 2017 12:15
@igorbarkowsky тебе в https://gitter.im/LaravelRUS/offtop
Igor Barkowsky
@igorbarkowsky
Mar 10 2017 12:16
@jhaoda о, спасибо
KarmaBot
@KarmaBot
Mar 10 2017 12:16
Спасибо (+1) для @jhaoda принято! Текущая карма +1460.
Alexander
@Dualse
Mar 10 2017 12:17
@vaz9 Ты сам себе противоречишь. Хочешь сказать, что стороннее решение соответствует вашем стандартам кода, а то что пишут ваши разработчики не соответствует?
П.С. Иду в оффтоп)
S.Vishnevskii
@HeroFirst
Mar 10 2017 12:21
Доброго дня товарищи, коллеги ) подскажите как реализовать , в роутах принимаем домен 3-го уровня sub.mysite.ru, то что в {sub} мы и обрабатываем в роутах, как прописать в .htaccess чтобы принимать как-то параметр sub. при запросе ,либо как то реализовать по другому.
KarmaBot
@KarmaBot
Mar 10 2017 12:21
@NEXT-WEB, и тебе привет ;)
Ivan
@Hunternnm
Mar 10 2017 12:25
@NEXT-WEB а что тебе в htaccess надо от поддомена?
vava
@vaz9
Mar 10 2017 12:31
@Dualse нет, хочу посмотреть готовую реализацию. т.к. можно увидеть метод решения, подумать поч так или вообще не думать. т.к. уже подумано
Ivan
@Hunternnm
Mar 10 2017 12:38
Вот спрашивают и пропадают...
Алексей
@yelrik
Mar 10 2017 12:39
@Hunternnm напиши в mention, зайдут и прочитают :)
Ivan
@Hunternnm
Mar 10 2017 12:40
@yelrik сразу же
Алексей
@yelrik
Mar 10 2017 12:41
@Hunternnm надо боту прописать, если задают вопрос и нет ответа..."К сожалению, все прогеры заняты, время ожидания ответа составляет..." :))
S.Vishnevskii
@HeroFirst
Mar 10 2017 12:43
@Hunternnm получается мы имеем в роутах следующее
@NEXT-WEB
Route::group(['domain' => '{account}.myapp.com'], function()
{

    Route::get('user/{id}', function($account, $id)
    {
        //
    });

});
Ivan
@Hunternnm
Mar 10 2017 12:45
@NEXT-WEB иии?
Алексей
@yelrik
Mar 10 2017 12:46
@Hunternnm иии...походу не работает у него :)
S.Vishnevskii
@HeroFirst
Mar 10 2017 12:47
@Hunternnm при запросе sub.myapp.com мы получаем страницу sub.myapp.com , где по перфиксу sub тянем данные из базы, так получается ? и в итоге .htaccess незачем трогать
Ivan
@Hunternnm
Mar 10 2017 12:47
@NEXT-WEB именно!
@NEXT-WEB если апач - то все поддомены должны идти на эту папку и все. htaccess вообще хз зачем трогать
и да - nginx рулит, апач фу-фу-фу
S.Vishnevskii
@HeroFirst
Mar 10 2017 12:55
@Hunternnm предполагал что при запросе sub.myapp.com будет отдаваться ссылка вида myapp.com/sub чего мне ваче не нужно)
Ivan
@Hunternnm
Mar 10 2017 12:55
@NEXT-WEB никогда такого не будет
S.Vishnevskii
@HeroFirst
Mar 10 2017 12:55
@Hunternnm , спасибо за help
KarmaBot
@KarmaBot
Mar 10 2017 12:55
Спасибо (+1) для @Hunternnm принято! Текущая карма +329.
ananas32
@ananas32
Mar 10 2017 13:01
привет всем!
KarmaBot
@KarmaBot
Mar 10 2017 13:01
@ananas32 и тебе не хворать :)
vava
@vaz9
Mar 10 2017 13:02
@DmitryChere прочекал, какой то под старый ларавел, другой требует не понятный контроллер реакт зачем то... и все вообще без адекватной доки либо пустой (последний кажется). решил писать сам, там не много всего. и так почти все стр на гитхабе, грязь одна
Dmitry
@DmitryChere
Mar 10 2017 13:03
@vaz9 ну ты пример реализации хотел
вот я и скинул
ananas32
@ananas32
Mar 10 2017 13:03
получаю такую ошибку, когда нажимаю logout. laravel 5.4
MethodNotAllowedHttpException in RouteCollection.php line 233:
JhaoDa
@jhaoda
Mar 10 2017 13:03
Котоны, кто как решал проблему вытягивания аватарок из соцсетей с использованием Socialite? Например, у провайдера ВК дефолтная аватарка 50×50, маловато...
Dmitry
@DmitryChere
Mar 10 2017 13:03
смотри, обдумывай, генерируй идеи
Алексей
@yelrik
Mar 10 2017 13:07
@ananas32 аутентификация из коробки?
Ivan
@Hunternnm
Mar 10 2017 13:08
@jhaoda если это вк то я по другой ссылке дергаю
JhaoDa
@jhaoda
Mar 10 2017 13:08
@Hunternnm а если хочется красиво любое кол-во провайдеров поддерживать?
ananas32
@ananas32
Mar 10 2017 13:08
@yelrik да
Ivan
@Hunternnm
Mar 10 2017 13:09
@jhaoda https://api.vk.com/method/users.get?user_ids='.$user->id.'&fields=photo_max - вот так для вк дергаю. Только с ними такая трабла. Один лишний if
ananas32
@ananas32
Mar 10 2017 13:09
и на некоторых страницах появляется ошибка
vava
@vaz9
Mar 10 2017 13:09
@DmitryChere спс спс, я уже чекал их) это не примеры а тупо ссылки
KarmaBot
@KarmaBot
Mar 10 2017 13:09
Спасибо (+1) для @likeapimp принято! Текущая карма +1.
@KarmaBot, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Ivan
@Hunternnm
Mar 10 2017 13:10
@jhaoda если совсем без проверок то 2 строчки по итогу:
$result = file_get_contents('https://api.vk.com/method/users.get?user_ids='.$user->id.'&fields=photo_max');
$avatar = json_decode($result)->response[0]->photo_max;
но так не есть тру и просто костыль
JhaoDa
@jhaoda
Mar 10 2017 13:10
@ananas32 а ты пробовал посмотреть, какой метод разрешен для логаута в списке роутов?
@Hunternnm да это всё понятно, но когда провайдеров пять-шесть...
Dmitry
@DmitryChere
Mar 10 2017 13:12
@vaz9 могу поспорить что это примеры
Ivan
@Hunternnm
Mar 10 2017 13:12
@jhaoda магия через __get?
vava
@vaz9
Mar 10 2017 13:12
@DmitryChere 2 из 3 я поставил и попробовал протестить, на какую тему спор то?
Ivan
@Hunternnm
Mar 10 2017 13:13
@jhaoda или трейт под это дело. Хотя оверхед
JhaoDa
@jhaoda
Mar 10 2017 13:13
@Hunternnm нужно где-то помнить 6 разных адресов для получения аватарок из разных сетей нужного размера. И это тухляк.
S.Vishnevskii
@HeroFirst
Mar 10 2017 13:13

@Hunternnm ступарнули, help ))

Route::group(['domain' => '{account}.myapp.com'], function()
{

    Route::get('/', function($account)
    {
        return $account;
    });

});

при запросе test.myapp.com роут с методом get не отдает test , отдает ошибку dnserror (страница не найдена). В чём ошибка ?)

Ivan
@Hunternnm
Mar 10 2017 13:13
@jhaoda может таки трейт?
Dmitry
@DmitryChere
Mar 10 2017 13:13
@vaz9 алло, примеры реализации, их можно не ставить даже, а зайти в код и посмотреть что и как сделано и из этого вынести для себя какую-то информацию
Ivan
@Hunternnm
Mar 10 2017 13:14
@NEXT-WEB реальный домен или локалка? Хотя без разницы - все поддомены должны смотреть на этот ip/папку
JhaoDa
@jhaoda
Mar 10 2017 13:14
@Hunternnm как трейт избавит от хардкода шести адресов?
Ivan
@Hunternnm
Mar 10 2017 13:14
@jhaoda тогда только конфиг
ananas32
@ananas32
Mar 10 2017 13:14
@jhaoda logout(Request $request)
Ivan
@Hunternnm
Mar 10 2017 13:15
@ananas32 метод какой? запроса. гет/пост/пут/делит
JhaoDa
@jhaoda
Mar 10 2017 13:15
@ananas32 ещё раз прочитай, что я спросил, только внимательно читай
Ivan
@Hunternnm
Mar 10 2017 13:15
@jhaoda сорри, заспойлерил
JhaoDa
@jhaoda
Mar 10 2017 13:15
@Hunternnm как конфиг избавит от хардкода шести адресов?:)
S.Vishnevskii
@HeroFirst
Mar 10 2017 13:16
@Hunternnm тестим на реальном домене.
Ivan
@Hunternnm
Mar 10 2017 13:16
@jhaoda от хардкода шести адресов не избаит даже кровь девственницы(хотя хрен ее найдешь то)
JhaoDa
@jhaoda
Mar 10 2017 13:16
Непонятно, почему в менеджере социалайта нет возможности дополнить список полей... скоупы можно, а поля нельзя
Ivan
@Hunternnm
Mar 10 2017 13:16
@NEXT-WEB у регистратора пропишите для всех поддоменов A-запись на ваш ip сервера. Это тема уже оффтопа https://gitter.im/LaravelRUS/offtop
ananas32
@ananas32
Mar 10 2017 13:16
@jhaoda get
Ivan
@Hunternnm
Mar 10 2017 13:16
@ananas32 не ври
@ananas32 5,4?
ananas32
@ananas32
Mar 10 2017 13:17
да
Ivan
@Hunternnm
Mar 10 2017 13:17
@ananas32 покажи что консоль выдала
@jhaoda для вк все равно не помогло бы вроде как
ananas32
@ananas32
Mar 10 2017 13:19
@Hunternnm подскажи команду для консоля
JhaoDa
@jhaoda
Mar 10 2017 13:19
@ananas32 а ты доку почитай
Ivan
@Hunternnm
Mar 10 2017 13:19
@ananas32 route:list, только тогда я хз откуда ты взял гет
Ладно, чай закончился, иду работать. Да и хрустальный шар устал
S.Vishnevskii
@HeroFirst
Mar 10 2017 13:20
@Hunternnm спасибо !)
KarmaBot
@KarmaBot
Mar 10 2017 13:20
Спасибо (+1) для @Hunternnm принято! Текущая карма +330.
ananas32
@ananas32
Mar 10 2017 13:20
@Hunternnm товарищ один сказал
Ivan
@Hunternnm
Mar 10 2017 13:21
@ananas32 не товарищ он после этого
Алексей
@yelrik
Mar 10 2017 13:21
@NEXT-WEB у регистратора пропишите для всех поддоменов A-запись на ваш ip сервера. Это тема уже оффтопа https://gitter.im/LaravelRUS/offtop
а если локалка?
ananas32
@ananas32
Mar 10 2017 13:21
@Hunternnm походу да, и вправду постом
JhaoDa
@jhaoda
Mar 10 2017 13:21
@ananas32 а чо ж ты ему вопросы-то не задаешь?
@yelrik ты невнимательно прочитал ту часть, где про оффтоп?
Ivan
@Hunternnm
Mar 10 2017 13:21
@yelrik тот же подход
ananas32
@ananas32
Mar 10 2017 13:22
@jhaoda он не знает ответ
JhaoDa
@jhaoda
Mar 10 2017 13:22
@ananas32 как это? Он же тебе сказал, что метод гет. Раз ты его спрашиваешь, вместо того, что бы спросить ларавел, то считаешь его более знающим. Вот и спрашивай его дальше
Алексей
@yelrik
Mar 10 2017 13:23

@jhaoda

@ananas32 как это? Он же тебе сказал, что метод гет
беру пример с более опытных товарищей :)

ananas32
@ananas32
Mar 10 2017 13:26
ну он ошибся
@Hunternnm спасибо за помощь
KarmaBot
@KarmaBot
Mar 10 2017 13:27
Спасибо (+1) для @Hunternnm принято! Текущая карма +331.
Vladimir Yuldashev
@vyuldashev
Mar 10 2017 13:27
привет всем
KarmaBot
@KarmaBot
Mar 10 2017 13:27
Hello, @vladimir-yuldashev!
ananas32
@ananas32
Mar 10 2017 13:27
@jhaoda спасибо
KarmaBot
@KarmaBot
Mar 10 2017 13:27
Спасибо (+1) для @jhaoda принято! Текущая карма +1461.
Алексей
@yelrik
Mar 10 2017 13:27
@ananas32 пиши в оффтоп :) А то нащальнике разозлится
Ivan
@Hunternnm
Mar 10 2017 13:30
@yelrik это есть праведный гнев
rammtw
@rammtw
Mar 10 2017 13:52
ребят, одно и то же поле на локалке и на удаленном серве выдает разные типы (int и string), поле берется с базы, использую Eloquent, с чем это связано?
JhaoDa
@jhaoda
Mar 10 2017 13:53
@rammtw не с элоквентом, это факт
Ivan
@Hunternnm
Mar 10 2017 14:10
@rammtw мускуль и стрикт мод вроде рулят тут
JhaoDa
@jhaoda
Mar 10 2017 14:16
@rammtw @Hunternnm тут рулит драйвер mysqlnd, который поддерживает типизацию
Ivan
@Hunternnm
Mar 10 2017 14:17
@jhaoda я локально на разных базах такое ловил. Драйвер один и тот же, а мускуль - 5,6 и 5,7 с SM
prog-man
@prog-man
Mar 10 2017 14:23

Объясните пжл по поводу свойства модели $casts и автоматической сериализации/десериализации массивов. Назначил данное свойство:

    protected $casts = [
        'images' => 'array',
    ];

при создании модели:

    Post::create([...., 'images' => [....]])

все автоматически сереализуется и при получении десериализуется.
Но вот при обновлении данных, pdo ругается, что не может преобразовать массив к строке, т.е. при:

    $post = Post::findOrFail(1);
    $post->update([...., 'images' => [....]]);

уже автоматически не сереализуется.

Это у меня так только, или так и должно быть? Просто не пойму тогда смысл этой фишки, когда при создании фича работает, а при обновлении нет.

JhaoDa
@jhaoda
Mar 10 2017 14:30
@prog-man кастинг в массивы работает только при чтении
prog-man
@prog-man
Mar 10 2017 14:31
@jhaoda ну нет же, при создании модели (при записи в БД) автоматом сериализует, а при обновлении нет.
https://laravel.com/docs/5.4/eloquent-mutators#array-and-json-casting
при create точно говорю, сериализует. хм
JhaoDa
@jhaoda
Mar 10 2017 14:36
@prog-man а, ну назвали isJsonCastable, как-то не очень явно, что там ещё и на array проверка...
@prog-man это поле fillable?
prog-man
@prog-man
Mar 10 2017 14:39

@jhaoda

это поле fillable?

ну да, при create сохраняет все

JhaoDa
@jhaoda
Mar 10 2017 14:40
@prog-man ну тогда отлаживай и ищи, что не так
prog-man
@prog-man
Mar 10 2017 14:41
млин, попробую развернуть тестовое приложение, попробую там, чего то сомнение, что это у меня тут случлось. Сейчас смотрю в update в Model все тот же save отрабатывает, вроде должно работать.
nitrogenium
@nitrogenium
Mar 10 2017 15:32
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    protected $my_var;

    public function setMyVar ($var)
    {
        $this->my_var=$var;
    }

    public function getTestAttribute()
    {
        return $this->my_var+$this->some_db_field
    }
}

Как мне передать внутрь колекции Eloquent свою переменную которую я могу использовать в Accessor.

Говнокод выше - не годен.

JhaoDa
@jhaoda
Mar 10 2017 15:49
@nitrogenium а где коллекция-то?
nitrogenium
@nitrogenium
Mar 10 2017 15:52
Колекция будет после запроса. Например User::all();
В Accessor мне нужна внешняя переменная для вычислений. Ее нет в БД
Soprun Vladislav
@vlsoprun
Mar 10 2017 15:53
:neutral_face:
@nitrogenium Она "динамическая" ?
nitrogenium
@nitrogenium
Mar 10 2017 15:54
Да, конечно
Soprun Vladislav
@vlsoprun
Mar 10 2017 15:54
@nitrogenium а что это вообще ?
@nitrogenium просто я не понимаю какого хрена зачем!?
@nitrogenium "Это модель данных" и не должна ничего, абсолютно ничего выполнять**!
nitrogenium
@nitrogenium
Mar 10 2017 15:59
Это просто пример что бы для иллюстрации задачи. В Accessor мне нужно проводить расчет, для расчета нужно некое внешнее значение. Типо калибровочной поправки, и иногда оно может быть задано.
Soprun Vladislav
@vlsoprun
Mar 10 2017 16:05
Бро, ты что то не то делаешь....
Реализуй нормальный "сервис" который будет заниматься расчетом, но гороздить "безнес логику" в "слой данных", не нужно.
p.s. Сделать так как ты хочешь можно, но не нужно!.
Soprun Vladislav
@vlsoprun
Mar 10 2017 16:10
$data = (new Model)->setVar(..)->get()
Где метод setVar вернет тот же объект return $this
nitrogenium
@nitrogenium
Mar 10 2017 16:10
Модель данных - уровень абстракции от БД. Простейшая логика работы с данными в модели - это правильно.
Soprun Vladislav
@vlsoprun
Mar 10 2017 16:11
ну если выше перечисленное ты понимаешь, зачем изобретать велосипед? :neutral_face:
prog-man
@prog-man
Mar 10 2017 16:12
:point_up: 10 марта 2017 г., 17:23 мой косяк был, лара не при чем, update тоже работает.
nitrogenium
@nitrogenium
Mar 10 2017 16:13
@vlsoprun Не понимаю где тут лисапед. Для чего тогда Accessor ?
Soprun Vladislav
@vlsoprun
Mar 10 2017 16:21

@nitrogenium Wiki Getter там же рядом Setter

Он должен видоизменять данные, но уж точно не выполнять логику!...

nitrogenium
@nitrogenium
Mar 10 2017 16:29
Куда тогда поместить логику, что бы во многих представлениях вызывать $item->test, и проводилась корекция данных при необходимости?
Redfard
@Redfard
Mar 10 2017 16:32
Всем привет. Скажите, как поучаствовать в создании новой версии сайта? (LaravelRUS/laravel.ru#15)
KarmaBot
@KarmaBot
Mar 10 2017 16:32
Hello, @Redfard!
JhaoDa
@jhaoda
Mar 10 2017 16:33
@Redfard взять и поучаствовать. Код открыт, задачи описаны, бери и делай, потом присылай пулл-реквест
Redfard
@Redfard
Mar 10 2017 16:34
@jhaoda я извиняюсь, скорей всего невнимателен, здесь код текущего сайта - https://github.com/LaravelRUS/laravel.ru, а где новой версии?
JhaoDa
@jhaoda
Mar 10 2017 16:35
@Redfard ветку переключи на feature-laravel-5.4
Redfard
@Redfard
Mar 10 2017 16:36
@jhaoda спасибо) а заранее не сообщать о взятой на себя задаче?
KarmaBot
@KarmaBot
Mar 10 2017 16:36
Спасибо (+1) для @jhaoda принято! Текущая карма +1462.
JhaoDa
@jhaoda
Mar 10 2017 16:36
@Redfard лучше сообщить
Soprun Vladislav
@vlsoprun
Mar 10 2017 16:45
@nitrogenium Я тут телегу текста катаю, у меня вопрос, а это магическое значение, что именно ?
nitrogenium
@nitrogenium
Mar 10 2017 16:48
@vlsoprun Момент
Soprun Vladislav
@vlsoprun
Mar 10 2017 16:51
This message was deleted
nitrogenium
@nitrogenium
Mar 10 2017 17:00

@vlsoprun Есть в БД список механизмов, каждый механизм пренадлежит своему типу, производителю итд.

Есть Accessor:

getTitleAttribute(){

// Получить шаблон заголовка
(В зависимости от некоторых факторов, выбираем нужный шаблон)
$this->Type->pattern;

Шаблон вида:

Продажа трактора %brand% %model% в %city% итд

Заменяем в pattern конструкции вида %brand%, %model%, %city% итд на их действительные значения.
НО
Нужно иметь возможность задавать свой внешний шаблон.
Тогда я просто смотрю задан ли внешний шаблон, если задан работаю с ним вместо связанных с этой записью.

}

Такая конструкция позволит мне в любом месте просто вызвать $item->title и вуаля заголовок готов.

Soprun Vladislav
@vlsoprun
Mar 10 2017 17:05

@nitrogenium Сделай сервис который будет заниматься расчетом.
Я даже не знаю как это словами объяснить.....

Есть у тебя продукты = ProductEntity - она содержит в себе данные об объекте, будь то данные из бд, данные кэша или данные из памяти.. Не важно, это данные!..
Если у тебя есть необходимость рассчитать стоимость с учетом комиссии FeeEntity- это еще один объект.

Предположим что:
ProductEntity имеет свойство price=цена
FeeEntity имеет свойство fee = комиссия*, допустим она будет всего вздыматься сверху.


Акт 1

Пролог

После оформления заказа будет выбор и соответственно комиссия сущность странная, может быть например при оплате картой +3,5%, а налом 0...

ты получишь некую конечность расчета, что продукт id:10 нужно рассчитать с комиссией id:3

Соответственно у тебя должен быть функционал расчета независимый от конкретной модели продукта и конкретного значения комиссии. Так как продукт может быть с дополнительными "опциями", со скидкой и т.д. и соответственно использовать price + fee нельзя!

По наличии опций цена может быть как сверху, так и снизу и тоже самое касается скидок, акций и т.д.

То есть для получения значений ты должен учитывать все факты и даже те что товар может быть бесплатным при опции "Красного цвета" или при заказе от 3000 руб.


Акт 2

Ошибки

Если ты использовал getter для суммы данных, что бы получить "красивую" переменную amount=сумма то!.... Вопрос!
А все ли ты учел?!

А учел ли ты что по акции NNN и заказе товара NNN2 с опциями NNN3 будет скидка ?
А ты заешь что если про той же акции купить еще товар id:20, 30 то будет дополнительная скидка на весь заказ при самовывозе ???....

Боюсь мутотор не то решение........


Акт 3

На путь истенный...

Пиши сразу нормальную Сети Петри, сразу делай правильно, сложно, что бы избежать проблем.. :)

KarmaBot
@KarmaBot
Mar 10 2017 17:05
@vlsoprun, у нас тут принято писать кратко и по делу. А если нужно показать длинный код, то можно использовать pastebin-сервис, например gist.github.com или laravel.io/bin.
Soprun Vladislav
@vlsoprun
Mar 10 2017 17:08
@nitrogenium Что касательно мутаторов для получения шаблона наименования тайтла... Ну черт его знает...
Но set шаблон для тайтла звучит стремно :smile:
@nitrogenium для того что бы реализовать твой тайтл! используй хелпер, который принимает объект и исходя из его содержания выводит тайтл
ez :smile:
Ivan
@Hunternnm
Mar 10 2017 17:12
@vlsoprun thx)
KarmaBot
@KarmaBot
Mar 10 2017 17:12
Спасибо (+1) для @vlsoprun принято! Текущая карма +300.
Soprun Vladislav
@vlsoprun
Mar 10 2017 17:12
@Hunternnm 300 ))))
Ivan
@Hunternnm
Mar 10 2017 17:12
@vlsoprun сколько?
Soprun Vladislav
@vlsoprun
Mar 10 2017 17:12
@Hunternnm 300 )))
Ура ))
Юбилей
@Hunternnm Спасибо за поздравления и моральную поддержу, я пошел бухать и отмечать 300 кармы :smile:
KarmaBot
@KarmaBot
Mar 10 2017 17:13
Спасибо (+1) для @Hunternnm принято! Текущая карма +332.
Ivan
@Hunternnm
Mar 10 2017 17:14
@vlsoprun http://chto-znachit.su/pic/201605/88483b4a496ed7abcf2e3429a2913b05.jpg
Soprun Vladislav
@vlsoprun
Mar 10 2017 17:14
:smile:
Ivan
@Hunternnm
Mar 10 2017 17:14
@vlsoprun http://img.1001mem.ru/posts/3683000/3682917.jpg даже вот так)
PS у меня круче - 333
Soprun Vladislav
@vlsoprun
Mar 10 2017 17:15
@Hunternnm Спасибо и 333 красивых девушек кармы тебе :smile:
KarmaBot
@KarmaBot
Mar 10 2017 17:15
Спасибо (+1) для @Hunternnm принято! Текущая карма +333.
Ivan
@Hunternnm
Mar 10 2017 17:15
@vlsoprun спасибо) но жена увидит - прибьет
KarmaBot
@KarmaBot
Mar 10 2017 17:15
Спасибо (+1) для @vlsoprun принято! Текущая карма +301.
Soprun Vladislav
@vlsoprun
Mar 10 2017 17:16
@Hunternnm Я все замаскировал :smile:
Не спалимся )))
ps. Когда писал, я искрении думал что проблема в изменении данных, добавления или расчет, особенно $this->my_var+$this->some_db_field....
но жизнь боль и банальщина :satisfied:
Semyoshka
@SemyonKZ
Mar 10 2017 19:57
Всем привет, у меня такой вопрос: Пытаюсь разобраться с homestead, установил виртуал бокс (скачанный с оф. сайта), установил вагрант, скачал коробку, поставил ssh, запустил bash init.sh в папке homestead, при vagrant up выдаёт ошибку:
Vagrant was unable to mount VirtualBox shared folders. This is usually
because the filesystem "vboxsf" is not available. This filesystem is
made available via the VirtualBox Guest Additions and kernel module.
Please verify that these guest additions are properly installed in the
guest. This is not a bug in Vagrant and is usually caused by a faulty
Vagrant box. For context, the command attempted was:

mount -t vboxsf -o uid=1000,gid=1000 vagrant /vagrant

The error output from the command was:

/sbin/mount.vboxsf: mounting failed with the error: No such file or directory
KarmaBot
@KarmaBot
Mar 10 2017 19:57
Привет, @SemyonKZ! Проходи, присаживайся. В ногах правды нет :)
Semyoshka
@SemyonKZ
Mar 10 2017 20:00

Плагин

vagrant plugin install vagrant-vbguest

Установил

Ivan
@Hunternnm
Mar 10 2017 20:06
@SemyonKZ ты на линухе шоль стартуешь?
Semyoshka
@SemyonKZ
Mar 10 2017 20:07
windows 10 x64, на линуксе я бы таким сексом не занимался
Ivan
@Hunternnm
Mar 10 2017 20:08
@SemyonKZ виртуалку руками делал или как оно там? я на линухе, поэтому хз :)
Semyoshka
@SemyonKZ
Mar 10 2017 20:08
коробку скачивал командой vagrant box add laravel/homestead
JhaoDa
@jhaoda
Mar 10 2017 20:23
@SemyonKZ тебе в https://gitter.im/LaravelRUS/offtop
Semyoshka
@SemyonKZ
Mar 10 2017 20:24
@Hunternnm я тут до экспериментировался, сейчас коробку заного скачаю проверю, но я по всем уже ссылкам в гугле прошёлся, всё перечилал.
Semyoshka
@SemyonKZ
Mar 10 2017 20:44
@Hunternnm я тут что-то сломал, пока не могу разобраться, как разберусь попробую ваш вариант, спасибо что откликнулись.
Semyoshka
@SemyonKZ
Mar 10 2017 21:04
@Hunternnm Сделал не помогает.
zyabik
@zyabik
Mar 10 2017 23:37
Добрый день, подскажите как отдать файл пользователю для скачивания?
KarmaBot
@KarmaBot
Mar 10 2017 23:37
Не узнал тебя, @zyabik. Богатым будешь :)
zyabik
@zyabik
Mar 10 2017 23:38
@Hunternnm Как разрешить пользователям скачивать определённый файл с сайта