These are chat archives for LaravelRUS/chat

30th
Mar 2017
Coryphaeus
@cvdeveloper13
Mar 30 2017 05:56

Доброе утро. Проблема с HttpException. В документации пишет, что можно просто создать страницу resources/views/errors/403.blade.php, внутри этого шаблона доступна переменная $exception. На деле эта страница не обрабатывается. То есть 403 ошибка вызывает ошибку HttpException, а страница просто-напросто игнорируется. Решил эту проблему (возможно костыль), добавив этот код в метод render класса Handler

$status = $exception->getStatusCode();
if (view()->exists("errors.{$status}")) {
    return response()->view("errors.{$status}", compact('exception'), $status);

Однако возникла проблема, которую решить не получается. Ошибка приходит без сообщения. Соответственно вопрос - как получить это сообщение или же следует использовать свои сообщения (типа trans("errors.{$status}"))?

Игорь Мандыч
@chiz-developer
Mar 30 2017 07:31
Привет, я уже как-то задавал вопрос, но так решить проблему и не получилось.
laravel стоит на vps (ubuntu 14) периодически слетает chmod на storage папку, в результате невозможно login/unlogin.
Пробовал ставить 777 на папку, помогает на определенное время, через пару дней все заново. ну подскажите, что это за магия?
KarmaBot
@KarmaBot
Mar 30 2017 07:31
Приветствую тебя, @chiz-developer!
JesterAntik
@JesterAntik
Mar 30 2017 07:59
Доброго всем!
Soprun Vladislav
@vlsoprun
Mar 30 2017 07:59
@JesterAntik добра тебе
JesterAntik
@JesterAntik
Mar 30 2017 07:59

Получил сейчас неожиданно вот такую ошибку

Fatal error: Class Symfony\Component\Finder\Iterator\FileTypeFilterIterator contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (FilterIterator::accept) in C:\domain\vendor\symfony\finder\Iterator\FileTypeFilterIterator.php on line 19

при этом даже ничего не кодил вроде бы, так по мелочи проверял работу некоторых моментов
JhaoDa
@jhaoda
Mar 30 2017 08:00
@JesterAntik и? Где остальная часть ошибки с самым важным?
JesterAntik
@JesterAntik
Mar 30 2017 08:01
Добавил
JhaoDa
@jhaoda
Mar 30 2017 08:03
@JesterAntik ты юзаешь этот самый файндер?
JesterAntik
@JesterAntik
Mar 30 2017 08:03
осознано - нет.
Говорю же, ничего осбенно не менял
JhaoDa
@jhaoda
Mar 30 2017 08:04
@JesterAntik вендоров последний раз когда обновлял?
JesterAntik
@JesterAntik
Mar 30 2017 08:05
случайно запускал composer update на прошлой неделе
JhaoDa
@jhaoda
Mar 30 2017 08:06
@JesterAntik ну так запусти ещё раз, осознанно
JesterAntik
@JesterAntik
Mar 30 2017 08:07
интересна причина
JhaoDa
@jhaoda
Mar 30 2017 08:07
@JesterAntik ищи. Или что, нам искать?
JesterAntik
@JesterAntik
Mar 30 2017 08:08
нет, думал у кого-то был опыт с такой ошибкой. Может знаете откуда такая ошибка может валиться
JhaoDa
@jhaoda
Mar 30 2017 08:09
@JesterAntik у гугла спрашивать надо для начала, там шансов больше
Soprun Vladislav
@vlsoprun
Mar 30 2017 08:15
@JesterAntik :smile:
@JesterAntik просто вбей ошибку в google
JesterAntik
@JesterAntik
Mar 30 2017 09:01
Гугл ничего толкового не дал. Помог перезапуск сервера
PhpNet
@PhpNet
Mar 30 2017 10:10

Приветствую. Подскажите, что за ерунда и куда копать?
У меня тут какая то ерунда происходит с секциями о_О.

FatalErrorException in /var/www/***/app/Admin/Sections/Core/CoreSection.php line 243: Cannot declare class App\Admin\Sections\Core\CoreSection, because the name is already in use

в CoreSection.php что то такое:

<?php

namespace App\Admin\Sections\Core;
//...
class CoreSection extends SleepingOwlSection {
  //...
}

wtf?
само определение класса CoreSection содержится только в одном файле.

KarmaBot
@KarmaBot
Mar 30 2017 10:10
@PhpNet, привет, как настроение?
Seba
@Siebov
Mar 30 2017 10:11
@PhpNet а если таки переназвать?
@PhpNet уходит ошибка?
Maksim (Ellrion) Platonov
@Ellrion
Mar 30 2017 10:12
@PhpNet или таки показать код на line 243
PhpNet
@PhpNet
Mar 30 2017 10:12
@Ellrion 243 - конец CoreSection.php, код там }
PhpNet
@PhpNet
Mar 30 2017 10:14
@jhaoda да тут по моему дело не в самой сове
@Sebbba переназвал, то же самое происходит
Maksim (Ellrion) Platonov
@Ellrion
Mar 30 2017 10:18
@PhpNet а покажи use секцию
PhpNet
@PhpNet
Mar 30 2017 10:19
<?php

namespace App\Admin\Sections\Core;

use AdminDisplay;
use SleepingOwl\Admin\Section as SleepingOwlSection;
use AdminForm;
use AdminFormElement;
use Illuminate\Database\Eloquent\Model;
use App\Core\Translit;
use App\Models\Core\System\Fields\Table;
use App\Models\Core\System\Fields\Values;
Maksim (Ellrion) Platonov
@Ellrion
Mar 30 2017 10:20
меджик)
PhpNet
@PhpNet
Mar 30 2017 10:23
сам нифига не вкурю.. и непонятно даже что гуглить
NoViKoFF
@AndrewNovikof
Mar 30 2017 10:39
@PhpNet line 243
Ты в классе CoreSection пытаешься задекларировать App\Admin\Sections\Core\CoreSection?
@PhpNet Покажи строку 243
PhpNet
@PhpNet
Mar 30 2017 10:40
@AndrewNovikof полный код: https://paste.laravel.io/RowqW
на 243 - конец файла
Soprun Vladislav
@vlsoprun
Mar 30 2017 10:40
@AndrewNovikof :point_up: 30 марта 2017 г., 13:12 , я тоже это хотел спросить
PhpNet
@PhpNet
Mar 30 2017 10:44
сейчас правда переназвал по совету файл. там CoreSectionTest и файл называется так же
JesterAntik
@JesterAntik
Mar 30 2017 11:56
есть ли какой-то способ получить копию существующей модели?
Soprun Vladislav
@vlsoprun
Mar 30 2017 11:56
@JesterAntik clone
JesterAntik
@JesterAntik
Mar 30 2017 11:59
@vlsoprun спс
KarmaBot
@KarmaBot
Mar 30 2017 11:59
Спасибо (+1) для @vlsoprun принято! Текущая карма +309.
Maksim (Ellrion) Platonov
@Ellrion
Mar 30 2017 12:03
@JesterAntik смотря для чего тебе это. Но возможно тебе лучше подойдет ->replicate()
Nikolay Stepanov
@Maxlab
Mar 30 2017 13:01

Привет!) Подскажите, что выбрать для связки: Laravel5 + vue2 + тут обычно bootstrap большинство берет, но для vue есть ui фреймворки.
https://docs.google.com/spreadsheets/d/13WhGNOu9S207TmhkL4xhCHV0tlDg-rCzR0VeaspS8QQ/edit#gid=541415243 - список со сравнением

Может быть знаете другие? Кто чем пользуется?

KarmaBot
@KarmaBot
Mar 30 2017 13:01
@Maxlab, ну рассказывай. Как жизнь? :)
Nikolay Stepanov
@Maxlab
Mar 30 2017 13:02
@KarmaBot 42
Murad
@Muradg
Mar 30 2017 13:04

Всем привет. Возник такой вот вопрос.
Вроде как правильно создал таблицы для eav модели, а именно: groups, values, product_values. В моем случае у меня просто select'ы.

groups - id, title
values - id, title, group_id
product_values - id, group_id, value_id, product_id

При добавлении товара на данный момент выходят все поля, вроде все нормально. Проблема при редактировании товара, как мне добавить аттрибут selected к селекту ? Я могу сделать по извращению, прямо в модели значений создать метод с проверками. Может есть какой-нибудь простой вариант это сделать ?

KarmaBot
@KarmaBot
Mar 30 2017 13:04
Не узнал тебя, @Muradg. Богатым будешь :)
Soprun Vladislav
@vlsoprun
Mar 30 2017 13:06
@Muradg wtf?!
Murad
@Muradg
Mar 30 2017 13:15
@vlsoprun а что собственно не так ? Вопрос некорректный ?
Raswin
@Raswin
Mar 30 2017 13:24
@Muradg
<option value="{{ $item->id }}" {{ $selected == $item->id ? 'selected="selected"' : '' }}>{{ $item->name }}</option>
Джангар
@Dzhangar1980
Mar 30 2017 13:24
бр.... некорретно распознается код
Soprun Vladislav
@vlsoprun
Mar 30 2017 13:25
@Dzhangar1980 оформи код
KarmaBot
@KarmaBot
Mar 30 2017 13:25
@Dzhangar1980, чтобы код легко читался, поставь перед ним и после него по строке с тремя обратными апострофами (символ ` на клавише с буквой «Ё»).
Узнать больше про оформление сообщений можно в справке по Markdown (кнопка M↓ внизу справа).
Кстати, свои сообщения здесь можно редактировать... ;)
Джангар
@Dzhangar1980
Mar 30 2017 13:26
не нафиг.... тут и так куча нормальных рецептов
Soprun Vladislav
@vlsoprun
Mar 30 2017 13:26
@Dzhangar1980 ??
Джангар
@Dzhangar1980
Mar 30 2017 13:27
<select class="form-control" name="company_pack" id="company_pack">
             <option value="0">Без пакета</option>
            @foreach($packs as $pack)
            <option value="{{$pack->id}}" 
                    @if($profile['company_pack'] == $pack->id)
                        selected="selected"
                    @endif
                    >{{$pack->name}}</option>
            @endforeach
        </select>
Soprun Vladislav
@vlsoprun
Mar 30 2017 13:28
@Dzhangar1980 воо.. красавчик :+1:
Murad
@Muradg
Mar 30 2017 13:29
@Dzhangar1980 друг, тебе за старания спасибо, но откуда мне получить $profile['company_pack'] ?
Моё извращение выглядит так:
@foreach($product->category->attributes as $at)
                    <div class="form-group">
                        <label for="select{{ $at['id'] }}">{{ $at['title'] }}</label>
                        <select class="form-control" name="attribute[{{ $at['id'] }}]" id="select{{ $at['id'] }}">
                            @foreach($at->values as $val)
                                <option value="{{ $val['id'] }}" {{ $val->checkSelect($product['id'], $at['id']) }}>{{ $val['value'] }}</option>
                            @endforeach
                        </select>
                    </div>
@endforeach
{{ $val->checkSelect($product['id'], $at['id']) }}
Пришлось метод создавать в модели, который проверяет наличие в базе. По другому я не понимаю как реализовать это..
Alexander Avakov
@pinguinjkeke
Mar 30 2017 13:31
Если хотите нормально работать с HTML-аттрибутами установите HTML collective https://laravelcollective.com/docs/5.3/html
Джангар
@Dzhangar1980
Mar 30 2017 13:35
$profile['company_pack'] и прочие переменные - это чисто моя байда.... не парься - смотри структуру
$profile[] я получаю в котроллере и передаю его в вид.
Murad
@Muradg
Mar 30 2017 13:37
@Dzhangar1980 жаль, что ты меня не понимаешь :) Конкретно в случае селекта - проблем нет. К примеру редактирование пользователя, все данные от пользователя можно получить как на ладони. Ты работал раннее с eav моделью ?
Джангар
@Dzhangar1980
Mar 30 2017 13:38
только слышал краем левого уха =)))
теперь вижу краем левого глаза
так, просто ссылка...
Джангар
@Dzhangar1980
Mar 30 2017 13:41
спс. буду посмотреть
KarmaBot
@KarmaBot
Mar 30 2017 13:41
@Dzhangar1980, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Roman
@fearrr
Mar 30 2017 13:41
@Hunternnm а обычный JSON в mysql 5.7 пойдет для этого?
Murad
@Muradg
Mar 30 2017 13:42
Вот таким ужасным способом пока смог решить:
public function checkSelect($product, $group) {

        $checked = AttributesObject::where([
            ['object_id', $product],
            ['group_id', $group],
            ['value_id', $this->id],
        ])->first();

        if ($checked == true)
            return 'selected';

        return;
    }
Ivan
@Hunternnm
Mar 30 2017 13:42
@fearrr там индекса по ключам нету...
@fearrr а в постгре поставил gin-индекс и кайфуешь
Roman
@fearrr
Mar 30 2017 13:42
@Hunternnm а елоквент нормально работает с jsonb этим?
Ivan
@Hunternnm
Mar 30 2017 13:42
@fearrr вполне
я только немного под запросы допилил и все
@fearrr но есть один момент - я в хранимках часть логики держу...
Roman
@fearrr
Mar 30 2017 13:43
@Hunternnm а дофига с нуля разбираться буду с этими индексами?
Ivan
@Hunternnm
Mar 30 2017 13:44
@fearrr ну он ставится как обычный индекс
просто gin
Roman
@fearrr
Mar 30 2017 13:44
@Hunternnm postgre не юзал вообще
ладно попробуем глянуть
Nikolay Stepanov
@Maxlab
Mar 30 2017 13:49
@fearrr Видео - для быстрого вникания в тему, ну а дальше есть дока на русском https://postgrespro.ru
Ivan
@Hunternnm
Mar 30 2017 13:49
@Maxlab заверни ссылку в ``
JhaoDa
@jhaoda
Mar 30 2017 13:51
@Dzhangar1980 у нас принято редактировать сообщения, а не копипастить мусор. А если накопипастил, то прибери за собой
KarmaBot
@KarmaBot
Mar 30 2017 14:28
@fearrr, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Roman
@fearrr
Mar 30 2017 14:28
@Maxlab Благодарю
KarmaBot
@KarmaBot
Mar 30 2017 14:28
Спасибо (+1) для @Maxlab принято! Текущая карма +2.
KarmaBot
@KarmaBot
Mar 30 2017 18:34
Прувет, @Virus191288!
Virus191288
@Virus191288
Mar 30 2017 18:36

Всем привет, нужна помощь, как-то можно скрыть атрибут у модели при определенных условиях в ларе 5.1? Например есть такие данные:

[
['status' => 1, 'title ' => 'test'],
['status' => 2, 'title ' => 'test2'],
]

и если status === 2 нужно убрать title, примерно так:

[
['status' => 1, 'title ' => 'test'],
['status' => 2],
]

думал что это возможно сделать через мутатор, но не нашел ничего подходящего. Можно через коллекцию сделать, но хочется через модель

KarmaBot
@KarmaBot
Mar 30 2017 18:36
@Virus191288 и тебе не хворать :)
Anton Vorontsov
@symbios-zi
Mar 30 2017 20:17
@Virus191288 какую цель преследуешь?
Выглядит костыльно
Virus191288
@Virus191288
Mar 30 2017 20:51
@symbios-zi есть древнее апи, которое работает именно так, хочу все перелать, но нужно повторить весь алгоритм :)
Anton Vorontsov
@symbios-zi
Mar 30 2017 20:54
@Virus191288 печаль. Но понимаю
@Virus191288 а что если сделать акссесор на title и в нем проверять статус. Если он равен 2 то возвращать null для этого аксессора?
Virus191288
@Virus191288
Mar 30 2017 20:56
@symbios-zi не вариант, нудно именно удалить его, да и такое я уже сделал, работает отлично, жаль в продакшен не пустить(( Придется через коллекции похоже делать.
@symbios-zi печаль это видеть тот код, на который я уже 5 час смотрю :D
Anton Vorontsov
@symbios-zi
Mar 30 2017 20:58
@Virus191288 может тебе станет легче, но сам прошёл через это. У меня был старый codeigniter где предыдущие прогеры делали методы по 800 строк
Virus191288
@Virus191288
Mar 30 2017 21:00
@symbios-zi у меня тут всего 188 :D

чего только вот это стоит

$arr = explode('|', $value);
foreach ($arr as $val) {
      $str.=$val.'|';
}

сижу и думаю... а нафига?)))

Bogdan Savchenko
@yabooodya
Mar 30 2017 21:02
Какая стремная милота...
Max Krestovskiy
@mkrestovskiy
Mar 30 2017 21:03
заметил, что здесь все всегда жалуются на предыдущий код разрабов, не было ни одного человека который сказал что предыдущие прогеры не плохо продумали/сделали все
Virus191288
@Virus191288
Mar 30 2017 21:05
@mkrestovskiy изначально сайт был на друпале, потом его копированием перенесли на лару, теперь я сижу и думаю как все это удалить и превратить в нормальный код :D
JhaoDa
@jhaoda
Mar 30 2017 21:05
@mkrestovskiy а хорошие прогеры и продолжают делать
Ну и даже если они по каким-то причинам передали проект, и если там всё хорошо, то чо жаловаться?
Вон, нынешний коллега лопатил говнокод в одном проекте, где отметилась чуть ли не половина нубасов этого чата, не буду перечислять поимённо :)
Заказчик не понимает уровня знаний, он на запрашиваемое бабло, походу, только ориентируется...
Max Krestovskiy
@mkrestovskiy
Mar 30 2017 21:09

он на запрашиваемое бабло, походу, только ориентируется

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

JhaoDa
@jhaoda
Mar 30 2017 21:09
@mkrestovskiy а я и работаю с такими
@mkrestovskiy это уже оффтоп, а он у нас в https://gitter.im/LaravelRUS/offtop
Virus191288
@Virus191288
Mar 30 2017 21:13
@mkrestovskiy ну а смысл многим платить по 150к в месяц? Проще нанять пару студентов за 30к. Сделают за тот-же срок и даже будет работать, программисты сами частично в этом виноваты, недавно искали нового сотрудника, предложили 80к на первые паре месяцев, в итоге 90% сидят и рассказывают про то, как это мало. При этом присылают код, а там через одного DB::table