These are chat archives for LaravelRUS/chat

31st
Jan 2017
projct1
@projct1
Jan 31 2017 07:43
подскажите плз, принципиальной разницы же нет между put, patch и delete? всё равно метод post используется же?
только для наглядности как бы? или лара внутри как то ещё работает по особенному с каждым из методов?
JhaoDa
@jhaoda
Jan 31 2017 07:46
@rorc предлагаю пойти и погуглить, пока не получил бан
Alexej
@Lunatig
Jan 31 2017 07:50
поскажите пожалуйста. где подключается файл env
projct1
@projct1
Jan 31 2017 07:51
@jhaoda да я гуглил, везде просто говорят что они делают, а зачем это надо различать, не говорится
@jhaoda отбань меня на оффтопе плз, уже 2 месяца прошло, там самое место спрашивать об этом
JhaoDa
@jhaoda
Jan 31 2017 07:51
@lunatig версия ларавел?
Alexej
@Lunatig
Jan 31 2017 07:51
@jhaoda 5.3
JhaoDa
@jhaoda
Jan 31 2017 07:51
@lunatig Illuminate\Foundation\Bootstrap\DetectEnvironment
Alexej
@Lunatig
Jan 31 2017 07:52
может кто сталкивался. есть необходимость вести несколько проектов. приложение одно. отличие только в файле env между ними. заводить 5 разных проектов ради одного файлика env не хочется ((
@jhaoda спасибо.
KarmaBot
@KarmaBot
Jan 31 2017 07:53
Спасибо (+1) для @jhaoda принято! Текущая карма +1426.
igor.kpl
@lov3catch
Jan 31 2017 08:01
ребят, подскажите как вы делаете версионность для rest (lumen)?
JhaoDa
@jhaoda
Jan 31 2017 08:04
@lov3catch ну вариантов немного: или api/v1/..., или что-то типа Accept: application/prs.vendorname.v1+json
igor.kpl
@lov3catch
Jan 31 2017 08:05
@jhaoda вы поднимаете на каждую версию API отдельный инстанс? смотрю либу dingo, там версия указывается в .env, я так понимаю что это подразумевает отдельный инстанс на каждую версию?
JhaoDa
@jhaoda
Jan 31 2017 08:06
@lov3catch там указывает версия по умолчанию, если никакой версии не передано в запросе
igor.kpl
@lov3catch
Jan 31 2017 08:06
если это так - то не проще каждую версию в отдельной ветке вести?
аааааааааааа
спасибо))
KarmaBot
@KarmaBot
Jan 31 2017 08:06
@lov3catch, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
igor.kpl
@lov3catch
Jan 31 2017 08:06
@lov3catch @jhaoda спасибо
KarmaBot
@KarmaBot
Jan 31 2017 08:06
Так не честно, @lov3catch. Нельзя добавлять карму самому себе.
Спасибо (+1) для @jhaoda принято! Текущая карма +1427.
igor.kpl
@lov3catch
Jan 31 2017 08:07
не сработало
Soprun Vladislav
@vlsoprun
Jan 31 2017 08:13
Здорова мужики!
asvae
@asvae
Jan 31 2017 08:38

@rorc

а зачем это надо различать

Если у тебя внутренний апи, то можно и не различать. Тупо лепить везде пост и кешировать на фронте.

@lunatig а в чем проблема завести 5 проектов? Места жалко?
Alexej
@Lunatig
Jan 31 2017 09:04
@asvae нет. просто получается если я делаю 5 проектов. то при внесении мелкого изменения. я вынужден пройтись по всем 5 проектам и перезаписать эти изменения.
Alexander
@Dualse
Jan 31 2017 09:07
@lunatig По идеи ты не должен так делать, если апи для сторонних пользователей
Alexej
@Lunatig
Jan 31 2017 09:08
@Dualse вот я и спрашиваю. а как правильно поступать в таких ситуациях?
Alexander
@Dualse
Jan 31 2017 09:12
@lunatig Ну смотри, если не вдаваться технические подробности. Запилил ты API. Все работает, клиенты пользуются. Теперь решил внести некие правки и добавить новых плюшек. Что будет, если ты сделаешь правки в текущем апи? Логично же, что ты подставишь своих клиентов, которые будут очень и очень недовольны. Следовательно ты должен добавить новую версию и пилить в ней свой функционал. В какую сторону копать уже написали
:point_up: 31 января 2017 г., 14:04
:point_up: 31 января 2017 г., 15:04
projct1
@projct1
Jan 31 2017 09:17
@asvae ну вот я и спрашиваю, зачем различать, когда можно везде пост слать и не заморачиваться
@asvae с точки зрения лары это как-то повлияет если я буду слать везде пост вместо putch, delete и put?
Alexander
@Dualse
Jan 31 2017 09:19
@rorc Открою тайну, ты можешь везде и get слать
projct1
@projct1
Jan 31 2017 09:22
@Dualse это понятно, но вопрос в другом щас
Alexander
@Dualse
Jan 31 2017 09:23

@asvae с точки зрения лары это как-то повлияет если я буду слать везде пост вместо putch, delete и put?

Никак

Ivan
@Hunternnm
Jan 31 2017 09:23
@rorc если придерживаться хоть немного идеологии рест то только пост не канает
MichaelWise
@MichaelWise
Jan 31 2017 09:48
Добрый день всем присутствующим? подскажите пожалуйста, пытаюсь на лару 5.2 поставить adminlte. Уже перепробовал по всякому, при вызове adminlte-laravel install он мне все равно подсовывает версию админки 4 которая не ставиться на 5.2. Как победить сие чудо?))
KarmaBot
@KarmaBot
Jan 31 2017 09:48
@MichaelWise, здравствуй.
Ivan
@Hunternnm
Jan 31 2017 09:49
@MichaelWise укажи версию и все
в композере
MichaelWise
@MichaelWise
Jan 31 2017 09:50
пытался, В конфиге провайдера прописываешь а он все равно не видит этот класс
@MichaelWise опиши свои действия там
Roman
@pr0kazn1k
Jan 31 2017 11:06
Коллеги, добрый день. Стандартная ситуация, у модели есть поле статус [0-4], статус равный 2 можно выставить при определенных условия. Где правильнее разместить такую проверку и когда вызывать?
Kirill Nesmeyanov
@SerafimArts
Jan 31 2017 11:10
@pr0kazn1k либо в мутаторе (проверка на месте), либо в обсервере (проверка постфактум)
либо накатить DbC (php-deal)
JhaoDa
@jhaoda
Jan 31 2017 11:10
@SerafimArts не выражайся
Kirill Nesmeyanov
@SerafimArts
Jan 31 2017 11:11
лично я за DbC - это как раз его область ответственности - инварианты
Roman
@pr0kazn1k
Jan 31 2017 11:13
@SerafimArts спасибо, то что нужно
KarmaBot
@KarmaBot
Jan 31 2017 11:13
Спасибо (+1) для @SerafimArts принято! Текущая карма +675.
JhaoDa
@jhaoda
Jan 31 2017 11:14
@pr0kazn1k что именно? Мутаторы, обсерверы или DbC?
Kirill Nesmeyanov
@SerafimArts
Jan 31 2017 11:15
да всё это нужно, просто надо знать для какой ситуации что использовть
Первое - логичнее всего и правильнее всего, но будет пораждать проблемы, когда модель распухнет
Второе - избавляется от проблем первого варианта, но накладывает ограничения на время реакции на "конфликт правил"
Третье - требует изначального построения архитектуры под это дело, использовать инварианты в одном месте и тащить ради этого тучку вендоров, ну так себе решение...
Roman
@pr0kazn1k
Jan 31 2017 11:18
@jhaoda обсерверы
Artemy
@lartie
Jan 31 2017 11:40
Привет всем. Какая альтернатива есть удалённому методу formatInput из formrequest? У меня приходит base64, я бы хотел перед валидацией её преобразовать.
KarmaBot
@KarmaBot
Jan 31 2017 11:40
@artemiydeveloper, здравствуй.
Soprun Vladislav
@vlsoprun
Jan 31 2017 11:41
@lartie 5 сек
@lartie Добавь в FormRequest
public function prepareForValidation()
{
    if ($this->offsetExists('field')) {
        $this->offsetSet('field', base64_decode($this->offsetGet('field')));
    }
}
JhaoDa
@jhaoda
Jan 31 2017 11:46
А это когда был метод formatInput?
Artemy
@lartie
Jan 31 2017 11:49
@jhaoda вроде до 5 версии
@vlsoprun спасибо, сейчас попробую)
KarmaBot
@KarmaBot
Jan 31 2017 11:49
Спасибо (+1) для @vlsoprun принято! Текущая карма +292.
JhaoDa
@jhaoda
Jan 31 2017 11:49
@lartie формреквесты появились в 5-й версии
Короче, я такой метод вообще нигде не нашёл, даже в PR/issue
Soprun Vladislav
@vlsoprun
Jan 31 2017 11:54
@jhaoda Может парень что то перепутал, может из какого нибудь yii вспомнил...
JhaoDa
@jhaoda
Jan 31 2017 11:54
@vlsoprun ну он так уверенно заявил, мне прям интересно стало
Soprun Vladislav
@vlsoprun
Jan 31 2017 11:55
@jhaoda :smile:
Alex
@Matroskinb
Jan 31 2017 12:02
Ребят, для описания правил Request Отдельные классы формировать это хорошая практика?
JhaoDa
@jhaoda
Jan 31 2017 12:03
@Matroskinb это называется форм реквест и об этом пишут в доке. Так что да, очень хорошая практика.
Dave
@aios
Jan 31 2017 12:03
@Matroskinb ну точно не коллектить в контроллере)
Anton Vorontsov
@symbios-zi
Jan 31 2017 12:03
@Matroskinb валидация?
Alex
@Matroskinb
Jan 31 2017 12:03
Просто я их делаю, а насколько это плохо / хорошо не вкурсе
И вопросов таких куча)
Anton Vorontsov
@symbios-zi
Jan 31 2017 12:04
@Matroskinb вопрос только в том как ты их делаешь? не свой ли костыль?
JhaoDa
@jhaoda
Jan 31 2017 12:04
@Matroskinb т.е. ты про них узнал не из доки?
@symbios-zi закрадываются опасения, да
Alex
@Matroskinb
Jan 31 2017 12:04
@symbios-zi через артизан делаю
@jhaoda почему не из доки если они прекрасно изложены на офф сайте, просто там несколько практик изложения правил валидации
JhaoDa
@jhaoda
Jan 31 2017 12:05
@Matroskinb их там всего две, а не несколько
Anton Vorontsov
@symbios-zi
Jan 31 2017 12:05
@jhaoda 2 это несколько! :D
Alex
@Matroskinb
Jan 31 2017 12:06
@symbios-zi а если делать методы, например, для форматирования строк, то куда этот код лучше складировать?
Anton Vorontsov
@symbios-zi
Jan 31 2017 12:07
что это еще за форматирование строк?
Alex
@Matroskinb
Jan 31 2017 12:09
@symbios-zi просто приведение к определенному формату, почистить ненужное или заменить чем либо
Anton Vorontsov
@symbios-zi
Jan 31 2017 12:10
Сервис, обязанностью которого будет это делать. ХЗ, подходов много
Maksim (Ellrion) Platonov
@Ellrion
Jan 31 2017 12:12
@Matroskinb можно и в реквесте. Есть вариант вон в мидлваре. Можно и в сервисе. Всё это норм. Главное последовательный подход в рамках приложения имхо
Alex
@Matroskinb
Jan 31 2017 12:13
@Ellrion ну пока сделано через сеттер ларавэлевский, но код повторяется, хотелось бы вынести в метод, который можно будет использовать везде
Anton Vorontsov
@symbios-zi
Jan 31 2017 12:13
@Matroskinb ну тогда точно сервис )
Alex
@Matroskinb
Jan 31 2017 12:14
@symbios-zi тогда пойду доки покурю, как это оформить по хорошему)
masonov
@masonov
Jan 31 2017 13:27

Привет!)

Нужна ваша помощь.
Есть вот такой запрос:

``` 
    $query = $institution
        ->join('cities', 'cities.id', '=', 'institutions.city_id')
        ->select('institutions.*', 'cities.name')
        ->orderBy($sort, $order);

а есть вот такой, "ко многим через":

$area = $area->find(1);
$inst = $area->institutions->get();

как добавить в первый запрос условие выборки по area?
С учетом что institutions не имеет столбца area_id, только city_id

JhaoDa
@jhaoda
Jan 31 2017 13:35
@masonov форматирование поправь
masonov
@masonov
Jan 31 2017 13:38
@jhaoda уже поправил вроде
JhaoDa
@jhaoda
Jan 31 2017 13:40
@masonov тебе просто повезло, что кусок кода не сложный и гиттер его не поломал. Три апострофа откуда взялись-то?
masonov
@masonov
Jan 31 2017 13:42
@jhaoda ну сперва он поломался, потом отредактировал, вроде получилось
сейчас я уже не могу отредактировать
JhaoDa
@jhaoda
Jan 31 2017 13:42
@masonov а все потому, что ты правила не читал внимательно (или вообще не читал). На редактирование сообщения есть 10 минут.
masonov
@masonov
Jan 31 2017 13:45
@jhaoda читал как то давно про 9 кругов чего то там
запомнил что в обязательном порядке надо форматировать код, но я никак его не пойму
код же должен быть между двумя тройными апострофами?
так и сделал, но все сломалось
JhaoDa
@jhaoda
Jan 31 2017 13:45
@masonov там написано «... добавьте по СТРОКЕ с тремя обратными апострофами»
Anton Vorontsov
@symbios-zi
Jan 31 2017 13:51
@masonov так и не понял. У тебя какие модели и какие связи? Region имеет много City, City имеет много Region
riddik200890
@riddik200890
Jan 31 2017 14:00
привет всем. можете более подробно обьяснить за сервис провайдера - методы бут и регистр , по доке вкурить немогу.
JhaoDa
@jhaoda
Jan 31 2017 14:00
@riddik200890 что именно ты не можешь вкурить?
@masonov слушай, тебе все пункты правил надо напоминать и объяснять? Читай, а потом пиши в чат
masonov
@masonov
Jan 31 2017 14:02
@jhaoda да исправляю я уже
riddik200890
@riddik200890
Jan 31 2017 14:03
@jhaoda что дает нам метод регистр - смотрю туда можно вписывать только контроллера? на сколько понял, создает один экземпляр и дает возможность дергать в любом месте приложения?
JhaoDa
@jhaoda
Jan 31 2017 14:03
@riddik200890 какие такие «контроллера» в методе register?
riddik200890
@riddik200890
Jan 31 2017 14:04
@jhaoda сори оговорился классы bindings
Ivan
@Hunternnm
Jan 31 2017 14:05
Лучше не стало
JhaoDa
@jhaoda
Jan 31 2017 14:05
@riddik200890 для понимания смысла метода register надо разобраться в сервис-контейнере
Ivan
@Hunternnm
Jan 31 2017 14:05
Ты читал что такое сервис контейнер в целом?
@riddik200890
riddik200890
@riddik200890
Jan 31 2017 14:05
@Hunternnm да
Ivan
@Hunternnm
Jan 31 2017 14:06
@riddik200890 и в чем тогда вопрос то?
JhaoDa
@jhaoda
Jan 31 2017 14:06
@riddik200890 «within the register method, you should only bind things into the service container» что именно здесь не понятно?
Если тебе не нужно ничего в контейнер помещать, то и забудь про этот метод
butschster
@butschster
Jan 31 2017 14:09
@riddik200890 видимо тебе нужно собрать все свои силы и время на ближайшие 5 минут и написать вопрос так, чтобы другие могли с первого раза понять твой его. Постарайся. Вот тебе мое любимое видео вдогонку https://www.youtube.com/watch?v=304inU71Mso
JhaoDa
@jhaoda
Jan 31 2017 14:10
@butschster вопрос очень прост: я не стал читать/не понял доку, объясните так, что бы я понял
Правда, критериев «вот, теперь я понял» мы не знаем и этот процесс может затянуться
butschster
@butschster
Jan 31 2017 14:11
@jhaoda что дает нам метод регистр - смотрю туда можно вписывать только контроллера? на сколько понял, создает один экземпляр и дает возможность дергать в любом месте приложения? как можно это понять?
Ivan
@Hunternnm
Jan 31 2017 14:11
@butschster спс за видео!
KarmaBot
@KarmaBot
Jan 31 2017 14:11
Спасибо (+1) для @butschster принято! Текущая карма +343.
Ivan
@Hunternnm
Jan 31 2017 14:11
@butschsterBot о_О
JhaoDa
@jhaoda
Jan 31 2017 14:12
@butschster ну я ж тебе перевёл :)
Andrei Sosnov
@atehnix
Jan 31 2017 14:14

@riddik200890 если очень грубо, то все что делает лара с сервис-провайдерами это:

$providers = config('app.providers');

foreach ($providers as $provider) {
    $provider->register();
}

foreach ($providers as $provider) {
    $provider->boot();
}

Для всего остального - нужно понять как устроен сервис-контейнер. ;)

...ваш кэп :)
Ivan
@Hunternnm
Jan 31 2017 14:15
@atehnix не кэп... спойлерист!
Andrei Sosnov
@atehnix
Jan 31 2017 14:16
@Hunternnm ну, мне просто скучно)
@Hunternnm ок, все.. молчу..)
riddik200890
@riddik200890
Jan 31 2017 14:23
@butschster интересует более расширенный вариант доки) сори за тупизм, приболел и голова не очень варит) от и спрашиваю, возможно есть где-то описано на пальцах)
Anton Vorontsov
@symbios-zi
Jan 31 2017 14:23
@masonov думаю тебе нужно WhereHas использовать
Alexej
@Lunatig
Jan 31 2017 15:10
подскажите пожалуйста как получить содержимое загруженного через форму файла ?
$file = $request->file('price')
JhaoDa
@jhaoda
Jan 31 2017 15:11
@lunatig ну ты сам и ответил
Ivan
@Hunternnm
Jan 31 2017 15:13
; в конце еще добавить и все :trollface:
Alexej
@Lunatig
Jan 31 2017 15:15
это имя
а как содержимое
JhaoDa
@jhaoda
Jan 31 2017 15:15
@lunatig кто тебе сказал, что это имя? Ты документацию читал, нет?
Ivan
@Hunternnm
Jan 31 2017 15:15
@lunatig ты через дд глядел что это?
@jhaoda да хотя бы дамп...
Alexej
@Lunatig
Jan 31 2017 15:16
@Hunternnm да
Ivan
@Hunternnm
Jan 31 2017 15:16
@lunatig и?
Alexej
@Lunatig
Jan 31 2017 15:16
@Hunternnm null
Ivan
@Hunternnm
Jan 31 2017 15:17
@lunatig значит нет файла у тебя
JhaoDa
@jhaoda
Jan 31 2017 15:17
@lunatig клёвое имя «null», правда? Ты ведь считаешь, что это имя. Это не навело тебя на мысли, что что-то не так?
Alexej
@Lunatig
Jan 31 2017 15:17
@Hunternnm $file = $request->price;
dd($file);
"Новый текстовый документ.txt"
Ivan
@Hunternnm
Jan 31 2017 15:17
@lunatig шутишь?
ванга мод он
ты в форме прописал что файл уйдет?
ванга мод офф
Alexej
@Lunatig
Jan 31 2017 15:18
@Hunternnm (
JhaoDa
@jhaoda
Jan 31 2017 15:18
@lunatig так, бегом читать про то, как файлы правильно загружать. И это к ларавел никак не относится.
Alexej
@Lunatig
Jan 31 2017 15:18
@Hunternnm пля.
@Hunternnm хотя нет все верно. <form enctype="multipart/form-data" method="post" >
JhaoDa
@jhaoda
Jan 31 2017 15:20
@lunatig получение файла из реквеста происходит так, как ты написал в первом сообщении. Точка. Если не работает, то ищи проблемы у себя
Alexej
@Lunatig
Jan 31 2017 15:20
@jhaoda а содержимое файла как взять? ))
JhaoDa
@jhaoda
Jan 31 2017 15:20
@lunatig слушай, ты дурак или просто троллишь?
Ivan
@Hunternnm
Jan 31 2017 15:21
@lunatig у тебя файл не приходит, а делаешь все верно
Alexej
@Lunatig
Jan 31 2017 15:22
@Hunternnm @jhaoda спасибо. видимо дурак. потому как я перевожу проект на лару. форма раньше файл отправляла. а в ларе нет (
KarmaBot
@KarmaBot
Jan 31 2017 15:22
Спасибо (+1) для @Hunternnm принято! Текущая карма +306.
Спасибо (+1) для @jhaoda принято! Текущая карма +1428.
JhaoDa
@jhaoda
Jan 31 2017 15:22
Ну да, виноват ларавел, а как же
Alexej
@Lunatig
Jan 31 2017 15:22
@jhaoda я не говорю что она виновата. я пытаюсь найти что не так )
JhaoDa
@jhaoda
Jan 31 2017 15:23
@lunatig ну открой дев тулз в браузере и посмотри, уходит ли у тебя файл на самом деле и с каким именем
Почему приходится объяснять такие элементарные вещи-то?
@lunatig хрена ли ты в ларавел уперся и мозг нам тут сношаешь?
Это чат для обсуждения вопросов по ларавел, а не для обучения азам веб-разаработки
Alexej
@Lunatig
Jan 31 2017 15:26
@jhaoda еслиб они были элементарные то работали. я не азы спрашиваю.
JhaoDa
@jhaoda
Jan 31 2017 15:26
@lunatig ты бы спорил меньше и делал больше. Я сказал, что и где смотреть. Ты посмотрел? Нам сказал? Нет, ты споришь.
Элементарная, мать её, логика: если в мишени нет дырок, то надо убедиться, что мишень не на другом континенте и что патроны не холостые
Почему-то такие простые вещи до многих не доходят, пока не скажешь — сразу мишень винят
alexspi
@alexspi
Jan 31 2017 15:41
аааа сектант
Kirill Nesmeyanov
@SerafimArts
Jan 31 2017 15:44
+1
я тоже как оскорбления прав мишеней на других континентах увидел - поседел
stranger-ru
@stranger-ru
Jan 31 2017 17:38

Всем привет.

В БД следующие поля модели Post:

id: (INT, PRIMARY_KEY),
category_id: (INT)
title: (STRING),
body: (TEXT)

и есть соответственно связь на Category:

    $this->hasOne(Category::class)

Когда я выбрасываю JSON модели Post:

    return response()
        ->json([
            'post' => Post::find(1)-get()
        ])

то получаю вывод:

post: {
    id: 5,
    category_id: "9",
    title: "Post 1",
    body: "bla bla bla"

где id имеет числовое значение, а category_id строковое, хотя в БД оба INT.

Почему так?

KarmaBot
@KarmaBot
Jan 31 2017 17:38
Hello, @stranger-ru!
stranger-ru
@stranger-ru
Jan 31 2017 17:40
приходится каждое такое поле преобразовывать в модели отдельно в число:
    public function getCategoryIdAttribute($value)
    {
        return (int) $value;
    }
butschster
@butschster
Jan 31 2017 17:54
@stranger-ru ну ты можешь через casts его приводить к int
stranger-ru
@stranger-ru
Jan 31 2017 17:57
@butschster ок, спасибо.
KarmaBot
@KarmaBot
Jan 31 2017 17:57
Спасибо (+1) для @butschster принято! Текущая карма +344.
stranger-ru
@stranger-ru
Jan 31 2017 18:13

еще такой вопрос:

Есть связь многие-ко-многим. Делаю выборку по ней:

    $post = Post::with('tags')->all()

получаю вывод:

post: {

    id: 4,
    title: "Post 1",
    tags: [
        {
            id: 1,
            title: "Tag 1",
        },
        {
            id: 2,
            title: "Tag 2"
        },
        {
            id: 3,
            title: "Tag 3"
        }
    ]
}

а мне нужно через такой же вызов связи получить массив Id-шников тегов, т.е:

post: {

    id: 4,
    title: "Post 1",
    tags: [1, 2, 3]
}

подскажите, как лучше это реализовать в Laravel?

KarmaBot
@KarmaBot
Jan 31 2017 18:13
@stranger-ru, чтобы показать длинный листинг кода желательно использовать pastebin-сервис, например gist.github.com или laravel.io/bin.
Alexander
@Dualse
Jan 31 2017 18:15
@stranger-ru Так у тебя в pivot таблице все эти id'шники есть
stranger-ru
@stranger-ru
Jan 31 2017 18:19
@Dualse как бы да, так то я конечно могу их перебрать в массив и далее этот массив прикрепить к выдаче. Но я хочу узнать, может можно как то более коротко все это сделать с помощью Laravel синтаксиса, т.е. например сейчас мудрю, но безуспешно:
  public function tags()
    {
        return $this->belongsToMany(Tag::class, 'post_tag_relateds', 'post_id', 'tag_id');
    }

    public function tagsIds()
    {
        return $this->tags()->select('id');
    }
т.е. здесь tagsIds() можно вызвать в Post::with('tagsIds')->...но все равно мне массив объектов возвращает
а мне нужен просто массив id-шников из связи
Arsen Soroka
@arsen-s
Jan 31 2017 18:21
@stranger-ru $post->tags->pluck('id')->toArray()
asvae
@asvae
Jan 31 2017 18:21
@stranger-ru имхо проще на фронте к id обратиться. Снимает кучу проблем.
stranger-ru
@stranger-ru
Jan 31 2017 18:25
@arsen-s чета возвращает полностью объект ((
@asvae у меня на фронте компонент не мой принимает массив id-шников
asvae
@asvae
Jan 31 2017 18:28
@stranger-ru тогда @arsen-s решение.
Arsen Soroka
@arsen-s
Jan 31 2017 18:30

@stranger-ru сделай

protected $appends = ['tags_id']

public function getTagsIdAttribute() {
  return $this->tags->pluck('id')->toArray()
}

только буде запросов на порядок больше если будешь тащить все посты.

не может оно

возвращает полностью объект

я такой подход юзаю когда действительно другого варика нету чтобы БД не нагружать
stranger-ru
@stranger-ru
Jan 31 2017 18:37
@arsen-s да, вот только что дошло, что не перекрывается связьtagsи отдельное поле нужно делать. Спасибо.
KarmaBot
@KarmaBot
Jan 31 2017 18:37
Спасибо (+1) для @arsen-s принято! Текущая карма +158.
Arsen Soroka
@arsen-s
Jan 31 2017 18:39
@stranger-ru ты понимаешь что для каждого поста будет идти отдельный запрос к БД для получение ids?
stranger-ru
@stranger-ru
Jan 31 2017 18:43
@arsen-s да, у меня в данной теме один пост идет на получение, поэтому ничего страшного.
Ghost
@ghost~54b7eecbdb8155e6700eb61c
Jan 31 2017 18:44
Коллеги, добрый вечер, кто сталкивался с проблемой составления структуры для нескольких приложений на laravel ? по идеи я подумал можно сделать несколько точек входа, в App разбить на папки по приложениям и использовать роуты по группам на поддомены. но остался вопрос как дополнительно разделить папку storage на каждое приложение.
KarmaBot
@KarmaBot
Jan 31 2017 18:44
Привет, @lavrentiev! Проходи, присаживайся. В ногах правды нет :)
Ghost
@ghost~54b7eecbdb8155e6700eb61c
Jan 31 2017 18:45
может кто подсказать пути решения ?
Alexander
@Dualse
Jan 31 2017 19:09
@lavrentiev А что мешает для каждого приложения создать свой проект?
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:10
У тебя все на одной бд? И имеет ли это смысл?
Ghost
@ghost~54b7eecbdb8155e6700eb61c
Jan 31 2017 19:10
@Dualse Не хочется повторять по несколько раз модели и какие то общие компоненты
да все в одной бд
Alexander
@Dualse
Jan 31 2017 19:11
@lavrentiev А задачу можешь объяснить?
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:11
@lavrentiev тиражируемое решение? Или такой проект?
Ghost
@ghost~54b7eecbdb8155e6700eb61c
Jan 31 2017 19:11
вопрос считай только в папке storage) и разделение конфигураций
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:12
@lavrentiev а для чего изменять конфигурацию?
Ghost
@ghost~54b7eecbdb8155e6700eb61c
Jan 31 2017 19:12
грубо говоря сайт там рукоделие игрушки и кабинеты для продавцов и оптовиков.
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:12
Лол
Alexander
@Dualse
Jan 31 2017 19:12
@lavrentiev Ну так а зачем тебе разделять это на приложения?
JhaoDa
@jhaoda
Jan 31 2017 19:12
Слава Etsy и «Ярмарки мастеров» покоя не даёт :)
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:12
Сделал бы отдельно. Нафига впихивать невпихуемое
Ghost
@ghost~54b7eecbdb8155e6700eb61c
Jan 31 2017 19:13
вот я смотрю реакция прям у народа
Alexander
@Dualse
Jan 31 2017 19:13
@lavrentiev Мы завидуем
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:13
Или невпихуевомое
Ghost
@ghost~54b7eecbdb8155e6700eb61c
Jan 31 2017 19:13
не важно что там делается. был вопрос для рассуждения а не для осуждения.
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:14
@lavrentiev проекты не связанные между собой, но логика похожая, да?
Alexander
@Dualse
Jan 31 2017 19:14
@lavrentiev Ок. Юзай DDD. Устроил ответ?
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:14
@lavrentiev тебя не осуждают, а рассуждают о целесообразности.
Alexander
@Dualse
Jan 31 2017 19:14
@symbios-zi Ну судя по всему, там просто разделение на роли и все
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:15
@Dualse мне не достаточно входных данных. Каков вопрос таков и ответ )))
Ghost
@ghost~54b7eecbdb8155e6700eb61c
Jan 31 2017 19:15
@symbios-zi ну можно и так сказать. просто в основном каждый сайт использует большую часть общих таблиц.
JhaoDa
@jhaoda
Jan 31 2017 19:15
@lavrentiev радуйся, у тебя хоть копия не самой попсовой идеи. А так тут толпы КС-рулетчиков клепают однотипные рулетки
Ghost
@ghost~54b7eecbdb8155e6700eb61c
Jan 31 2017 19:16
@jhaoda я про рукоделие к примеру написал )
JhaoDa
@jhaoda
Jan 31 2017 19:16
А мы рулетчиков баним
Ghost
@ghost~54b7eecbdb8155e6700eb61c
Jan 31 2017 19:16
я даже не знаю что такое рулетчики у вас тут
Alexander
@Dualse
Jan 31 2017 19:17
@lavrentiev это особая каста
JhaoDa
@jhaoda
Jan 31 2017 19:17
@lavrentiev это не у нас тут, а в этих ваших инторнэтах
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:17
@lavrentiev продавцы продают то что делают рукодельщики, а оптовики поставляют продавцам? Этим они связаны?
Alexander
@Dualse
Jan 31 2017 19:17
@symbios-zi Странно немного звучит) Как по мне, то покупают и продавцы, и покупатели, только в разных объемах и на разных условиях
Ghost
@ghost~54b7eecbdb8155e6700eb61c
Jan 31 2017 19:17
уважаемые я же выше написал, что это пример.
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:17
@Dualse я пока пытаюсь понять что он пытается сделать
Alexander
@Dualse
Jan 31 2017 19:18
@lavrentiev Не бойся. Твою идею не украдут. Опиши нормально, что хочешь сделать и тогда больше шансов, что тебе помогут.
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:18
@lavrentiev какими таблицами связаны сайты я не пойму
Lunarhouse
@Lunarhouse
Jan 31 2017 19:19
Привет! Подскажите как удалить кэш-дядепетиво из папки storage/framework/views. Там есть временные шаблоны. Их можно просто удалить или есть команда artisan. cache:clear не удалит их?
KarmaBot
@KarmaBot
Jan 31 2017 19:19
@Lunarhouse, привет, как настроение?
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:20
php artisan views:clear
Или view
Lunarhouse
@Lunarhouse
Jan 31 2017 19:20
@symbios-zi Спасибо
KarmaBot
@KarmaBot
Jan 31 2017 19:20
Спасибо (+1) для @symbios-zi принято! Текущая карма +209.
Lunarhouse
@Lunarhouse
Jan 31 2017 19:21
@symbios-zi сработало
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:21
@Lunarhouse не сомневался
Alexander
@Dualse
Jan 31 2017 19:21
@symbios-zi Вместо доки подрабатываешь?)
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:21
@KarmaBot я бот
@Dualse я бот
Lunarhouse
@Lunarhouse
Jan 31 2017 19:22
@Dualse да дело все равно не в этом
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:23
@Dualse 🙈💩
Alexander
@Dualse
Jan 31 2017 19:23
@symbios-zi ты не прошел !"Тест Тьюринга"
@symbios-zi Что за квадраты ты написал, кодировка слетела?)
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:24
@Dualse эмодзи. С телефона
Lunarhouse
@Lunarhouse
Jan 31 2017 19:24
@Dualse у меня такая схема
Undefined property: Illuminate\Database\Eloquent\Collection::$name
@Dualse с чем может быть связано?
Alexander
@Dualse
Jan 31 2017 19:25
@Lunarhouse У коллекции нету такого свойства?
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:25
@Lunarhouse там же написано. Два первых слова
Lunarhouse
@Lunarhouse
Jan 31 2017 19:25
@Dualse я понимаю
JhaoDa
@jhaoda
Jan 31 2017 19:26
@Lunarhouse нет, не понимаешь
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:26
@Lunarhouse тебе надо к элементу коллекции обращаться
Lunarhouse
@Lunarhouse
Jan 31 2017 19:26
но там просто я вынимаю из бд запись и хочу ее отобразить, а оно мне выдает такое
JhaoDa
@jhaoda
Jan 31 2017 19:27
@Lunarhouse иди доку читай
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:27
@Lunarhouse потому что это коллекция, а не элемент коллекции?!
Lunarhouse
@Lunarhouse
Jan 31 2017 19:27
@jhaoda все упирается в доки)
надо идти читать
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:27
@Lunarhouse чувак? Поговори со мной?)
Lunarhouse
@Lunarhouse
Jan 31 2017 19:28
@symbios-zi в смысле?
@symbios-zi
 public function show(Artist $artistModel, $slug)
    {
        $artist = $artistModel->where('slug', 'LIKE', $slug. '%')->get();

        if (is_null($artist)) {
            abort(404);
        }


        return view('artists.show', compact('artist'));
    }
JhaoDa
@jhaoda
Jan 31 2017 19:28
@symbios-zi не мешай человеку читать доку
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:29
@Lunarhouse ты делаешь запрос к бд и получаешь в конце коллекцию. Верно?
Alexander
@Dualse
Jan 31 2017 19:29
@symbios-zi тебе, сейчас, прилетит xD
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:29
@Dualse за что? Я законопослушный гражданин
Lunarhouse
@Lunarhouse
Jan 31 2017 19:30
@symbios-zi ну мне видимо про коллекции нужно почитать. Я то думал, что просто массив с записью получаю
Alexander
@Dualse
Jan 31 2017 19:30
@symbios-zi Хочешь заспойлерить ответ?)
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:30
Даже если ты получишь массив из 10 артистов то у такого массива не будет ключа name.
А вот у элементов будет
stranger-ru
@stranger-ru
Jan 31 2017 19:31
@butschster скажи пжл, SleepingOwl на 5.4 работает?
JhaoDa
@jhaoda
Jan 31 2017 19:31
@stranger-ru почему не спросить это в чате SleepingOwl?
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:32
@Lunarhouse foreach по artists делаешь? ))
@Lunarhouse если хочешь одного получить тогда first() а не get()
Alexander
@Dualse
Jan 31 2017 19:32
@symbios-zi Вот я же говорил, что заспойлеришь
Lunarhouse
@Lunarhouse
Jan 31 2017 19:32
@symbios-zi нет. Я то думал, что туда один артист приходит. Ну и dd() показывает одного.
JhaoDa
@jhaoda
Jan 31 2017 19:33
@symbios-zi :(
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:33
Нафига тебе коллекция? Тебе же один нужен
@jhaoda что? )))
@jhaoda мне скучно :(
stranger-ru
@stranger-ru
Jan 31 2017 19:33
@jhaoda насколько понимаю, в том чате уже давно никого нет
Lunarhouse
@Lunarhouse
Jan 31 2017 19:33
@symbios-zi ну так я ее не создавал)
Alexander
@Dualse
Jan 31 2017 19:34
@stranger-ru Там последнее сообщение полтора часа назад было
Lunarhouse
@Lunarhouse
Jan 31 2017 19:34
типа если я методом where () обращаюсь, то ларавел думает, что я коллекцию желаю?
Igor Markin
@markinigor
Jan 31 2017 19:34
@Lunarhouse Дока чувак.. дока
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:34
@Lunarhouse get() предполагает что ты несколько записей собрался получить и отдает коллекцию, если хочешь одного то find()
stranger-ru
@stranger-ru
Jan 31 2017 19:34
@Dualse @jhaoda а, да, это у меня gitter чего-то тупит
Alexander
@Dualse
Jan 31 2017 19:34
@Lunarhouse может ты все таки прочитаешь доку?
JhaoDa
@jhaoda
Jan 31 2017 19:34
@stranger-ru неправильно понимаешь
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:35
Ой. @Lunarhouse first()
Lunarhouse
@Lunarhouse
Jan 31 2017 19:35
Ок, пошел читать доку)
Alexander
@Dualse
Jan 31 2017 19:36
@Lunarhouse Хочешь я тебе 3 скрина доки сделаю, которые отвечают на все 3 твои вопроса?
Хотя последних 2 можно объеденить
Lunarhouse
@Lunarhouse
Jan 31 2017 19:37
@Dualse Спасибо, я не откажусь. Дело в том, что я походу не те доки читаю. Я читаю с сайта laravel.su
KarmaBot
@KarmaBot
Jan 31 2017 19:37
Спасибо (+1) для @Dualse принято! Текущая карма +127.
Lunarhouse
@Lunarhouse
Jan 31 2017 19:37
@Dualse а там еще есть на английском доки. Видимо их надо курить
JhaoDa
@jhaoda
Jan 31 2017 19:37
@symbios-zi видишь? Человек настойчиво хочет читать доки, а ты отвлекаешь
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:38
@jhaoda так точно!
Alexander
@Dualse
Jan 31 2017 19:39
@Lunarhouse Я могу и на laravel.su это найти
Lunarhouse
@Lunarhouse
Jan 31 2017 19:39
@Dualse надо first() задействовать
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:40
@Dualse не отвлекайся человека от курения
Alexander
@Dualse
Jan 31 2017 19:40
@Lunarhouse вот ответ на последний http://joxi.ru/VrwnbGvcMNpzAX
@symbios-zi я мотивирую
Lunarhouse
@Lunarhouse
Jan 31 2017 19:42
@Dualse Спасибо. Дошло. Заменил get() на first() заработало.
KarmaBot
@KarmaBot
Jan 31 2017 19:42
Спасибо (+1) для @Dualse принято! Текущая карма +128.
Alexander
@Dualse
Jan 31 2017 19:42
@Lunarhouse а вот на первый http://joxi.ru/D2PE3N9t9GQVA3
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:42
Ахаха )))
Lunarhouse
@Lunarhouse
Jan 31 2017 19:42
@Dualse надо научиться наконец доки читать)
@symbios-zi первый я в курсе. Просто что-то вылетело из башки. А что смешного? Не так все равно?)) Работает же
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:44
@Lunarhouse да просто я тебе уже 3 раза написал )))
Не парься, Бро. Я не в обиду. Я бот
Lunarhouse
@Lunarhouse
Jan 31 2017 19:45
@symbios-zi я видимо не особо талантлив в кодинге) Туго доходит
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:46
@Lunarhouse это вопрос опыта
Lunarhouse
@Lunarhouse
Jan 31 2017 19:46
@symbios-zi мб. Даже доки читаю как болван) Походу не с того конца)
JhaoDa
@jhaoda
Jan 31 2017 19:46
@Lunarhouse я сильно подозреваю, что ты начинаешь суетиться, когда у тебя возникает проблема
Тогда как надо суетиться сразу, что бы проблема не возникала
Lunarhouse
@Lunarhouse
Jan 31 2017 19:47
@jhaoda нет, не шибко. Я обычно перехожу к другой задаче, чтобы успокоиться.
Alexander
@Dualse
Jan 31 2017 19:47
@Lunarhouse В итоге ничего не заканчиваешь?)
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:47
@Lunarhouse чета у тебя проблемы с самооценкой. Не парься Бро
Lunarhouse
@Lunarhouse
Jan 31 2017 19:48
@Dualse заканчиваю)
уже столько сделано) поздно отступать
@Dualse осталась админка и роли
JhaoDa
@jhaoda
Jan 31 2017 19:49
@Lunarhouse я уже сотню раз повторял — прочитай ВСЮ документацию пару раз, без попыток понять. Тогда ты будешь знать, о чём в ней вообще пишут и на какой примерно странице. У тебя будет в голове «индекс».
Lunarhouse
@Lunarhouse
Jan 31 2017 19:49
@jhaoda а нет pdf варианта доков? или еще чего, чтобы не с сайта читать, а автономно.
@jhaoda у меня просто мало времени после работы. А на работе самое то читать
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:50
@Lunarhouse с телефона никак? )) Я думал эти времена прошли
Alexander
@Dualse
Jan 31 2017 19:51
@symbios-zi Я , к примеру, пользуюсь телефоном только, чтобы звонить)
ну и еще смс слать)
Lunarhouse
@Lunarhouse
Jan 31 2017 19:51
@symbios-zi да норм, просто у меня на работе не очень хорошо мобильный нэт работает. Банк - стены толстые и арматурой укреплены
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:52
@Lunarhouse дома когда сидишь в кабинете - читай доку :)
Lunarhouse
@Lunarhouse
Jan 31 2017 19:53
@symbios-zi ну я скачал книгу "Code Bright", но она, вроде, по 4 версии.
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:54
@Lunarhouse лучше всего официальную доку читать
Lunarhouse
@Lunarhouse
Jan 31 2017 19:54
@symbios-zi но там читается легко, но доки, видимо, лучше
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:54
Вообще сам ниразу русскую не читал, только когда переводил
Lunarhouse
@Lunarhouse
Jan 31 2017 19:54
@symbios-zi ну для меня английская дока - не проблема
Anton Vorontsov
@symbios-zi
Jan 31 2017 19:55
@Lunarhouse это очень и очень хорошо. Читай ее!
Lunarhouse
@Lunarhouse
Jan 31 2017 19:57
@symbios-zi вспомнил, что есть доки в Google Play в виде приложения
Lunarhouse
@Lunarhouse
Jan 31 2017 20:05
@asvae Спасибо, это прямо откровение для меня. Ценная книга!
KarmaBot
@KarmaBot
Jan 31 2017 20:05
Спасибо (+1) для @Asvae принято! Текущая карма +48.
@KarmaBot, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Roman
@covobo
Jan 31 2017 20:11
кто нибудь работал с eloquent моделями из разным баз данных?
Igor Markin
@markinigor
Jan 31 2017 20:12
@Lunarhouse http://shop.oreilly.com/product/0636920044116.do мож пригодится
Lunarhouse
@Lunarhouse
Jan 31 2017 20:16
@markinigor Спасибо. Надо попробовать
JhaoDa
@jhaoda
Jan 31 2017 20:20
@covobo вопрос сразу задавай
Roman
@covobo
Jan 31 2017 20:25
в общем, если юзать whereHas по моделям из разных БД - ларавер в запрос подставляет только название таблицы, без названия БД
вот, думаю самому что-то придумывать или уже есть решения
ларавел*
JhaoDa
@jhaoda
Jan 31 2017 20:27
@covobo здесь можно редактировать сообщения
Roman
@covobo
Jan 31 2017 20:28
уже не дает
JhaoDa
@jhaoda
Jan 31 2017 20:28
@covobo не «уже», а у тебя какая-то проблема. Бывают тут «избранные», у них редактирование не работает
@covobo версия ларавел?
Roman
@covobo
Jan 31 2017 20:31
5.2
JhaoDa
@jhaoda
Jan 31 2017 20:32
@covobo очень возможно, что это починили в 5.3 или 5.4. Или обновись, или посмотри, как там сделано и попробуй закостылить
@covobo ну и ты, конечно же, всем моделям коннекшны указал?
Roman
@covobo
Jan 31 2017 20:34
@jhaoda само собой
@jhaoda спасибо
KarmaBot
@KarmaBot
Jan 31 2017 20:34
Спасибо (+1) для @jhaoda принято! Текущая карма +1429.
JhaoDa
@jhaoda
Jan 31 2017 20:37
@covobo laravel/framework#17624 похоже, что не поправили. Следи за таской, вполне возможно, что там разъяснят
Роман Сохарев
@greabock
Jan 31 2017 23:16

@jhaoda @covobo фишка в том, что has/whereHas обрабатывается не отдельным запросом а добавляет подзапрос. Грубо говоря, что-то в этом духе:

select all form tabale where table.id in (select #...)

само собой, если сущности в разных бд, то такое не проканает. С другой стороны, если делать это отдельным запросом, то это может вообще привести к большой печальке. Представьте, что вы выбрали все строки из таблицы с парой миллионов записей, чтобы потом передать их в запрос where in

Arsen Soroka
@arsen-s
Jan 31 2017 23:18

@greabock

само собой, если сущности в разных бд, то такое не проканает

могу ошибатся, но юзал mysql + whereHas с sqlsrv - работает хорошо