Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#76 Re: Laravel 5.x » Вопрос от дилетанта. Если сработал фильтр то... » 15.02.2018 18:14:55

<h1>{{ trans('front/catname.' . $city_id) }}</h1>

если ты названия хранишь в языковых файлах

#79 Re: Laravel 5.x » Broadcasting. Чат реального времени. » 08.02.2018 15:49:37

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

тебе в любом случае нужен какой-то демон (который обслуживает подключения) и какая-то очередь сообщений.

#80 Re: Laravel 5.x » Модели и отношения. » 08.02.2018 15:47:17

Задам тебе встречный вопрос.

Почему у тебя возникает желание переопределить переменную firm (а на самом деле определить, т.к. ->firm отлавливается через __get)?
Если тебе понадобится еще что-то, кроме названия, как ты предполагаешь это сделать?

Первый вариант - правильный, так ты получишь название фирмы (если фирма есть).
Второй вариант - делает тоже самое, но какой смысл в этом - я не знаю. Ты ведь фактически определил переменную firm и больше не сможешь обратиться к фирме, как к модельке.

#81 Re: Laravel 5.x » Вопрос по ORM » 08.02.2018 12:02:00

Смотря для чего тебе надо. В данном коде ты не совсем проверяешь то, о чем говоришь. В данном коде ты лишь посчитал количество атрибутов у модели.
Количество атрибутов у модели != количеству "колонок" в таблице, т.к. выборку SELECT * можно легко ограничить.

в  MySQL/PostgreSQL есть запрос SHOW CREATE SCHEMA 'tableName'; который вернет достоверную информацию о нужной таблице.

#82 Re: Laravel 5.x » апгрейд dump() функции для распечатки методов » 08.02.2018 11:58:42

Как расширить функцию dump - не знаю.

Для того, чтобы в рантайме узнать больше про экземляр или просто класс, в PHP есть http://php.net/manual/ru/book.reflection.php

#83 Re: Laravel 5.x » Модели и отношения. » 08.02.2018 11:55:44

По соглашениям модели пишутся в CamelCase, т.е. UserName. Это хороший тон.

    public function firm()
    {   
        return $this->belongsTo(Firm::class, 'firm_id');
    }

т.к. у класса Firm указана таблица firms, laravel предполагает (убирая множественное число "s" из firms), что внешний ключ может быть firm_id, т.е. firm_id указывать необязательно, но, это совсем не принципиально.

        $user_names->firm_id           = $objUser_name->find($id)->firm->name;
        
        dd($user_names->firm_id );

для чего здесь присваивается в $user_names атрибут firm_id, если он уже должен быть и более того, какой смысл присваивать в firm_id name??

Для использования QueryBuilder, не обязательно создавать новый экземпляр класса модели, можно так:

public function showUser(int $id)
    {
        $userNames = User_name::query()->where('id', $id)->firstOrFail();        
        dd($userNames->firm_id );
    }

По большому счету - твой код должен работать и отношения используются корректно.

#84 Re: Laravel 5.x » Создаю новый проект, прошу помощи и советов » 07.02.2018 11:37:26

Права лучше называть по действию, типа - move_to_draft, publish_post, view_syslog, и не завязываться на конкретный action.
Можешь завязываться на action, если ты точно знаешь, что ты хочешь.

#85 Re: Laravel 5.x » unique, помогите разобратся. » 05.02.2018 18:35:55

Не сработало. Все равно английское сообщение.

В конфигах какой язык? Перевод ошибки для нужного языка есть?
Попробуй так

$this->validate($request, ['name' => 'required|string|min:4|max:25|unique:firms,name'], ['unique' => 'Имя должно быть уникально']);

Языковые файлы можешь скопировать здесь
https://github.com/caouecs/Laravel-lang … ter/src/ru

#86 Re: Laravel 5.x » Наследование моделей » 05.02.2018 18:33:18

Как правило требуется получать коллекцию со всеми элементами и что то сделать с каждым. Например вызывать какой то метод элемента.

$model->getService()->getSize();

где getService - фабрика, которая на основе атрибутов возвращает необходимую реализацию.

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

#87 Re: Laravel 5.x » Вызвать контроллер из представления » 05.02.2018 18:25:13

Не уверен, что то, что ты хочешь сделать - это хорошее решение.
Контроллер можно вызвать так

app()->call([PostController::class, 'methodName']);

Ты делаешь CMS?

#88 Re: Laravel 5.x » social lite » 04.02.2018 00:31:14

В настройках фейсбука callback url правильный?

#90 Re: Laravel 5.x » Потеря в производительности при обращении к многомерным массивам » 02.02.2018 10:50:04

Вопрос у меня такой: насколько такое средство избежания хардкодинга отрицательно скажется на производительности и какие более быстрее, но не хардкодные альтернативы есть?

Пока массив маленький - никак не скажется.

Думаю идеальный для твоего желания паттерн - Presenter.
https://habrahabr.ru/post/309942/ (мне статья не очень понравилась)

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

#91 Re: Laravel 5.x » SQL-запрос в конструкторе класса-контроллера » 01.02.2018 14:56:41

А Вы можете сказать, в какой момент создаётся экземпляр контроллера?

Прямо перед вызовом нужного action контроллера.
framework/src/Illuminate/Routing/Route.php метод run() -> runController()

runController() дергает getController()
метод getController() создает экземпляр контроллера

Выигрыша нет никакого.
И вряд ли это можно назвать "улучшением поддерживаемости кода".

#92 Re: Laravel 5.x » Liqpay не отрабатывает callback » 30.01.2018 12:27:33

Возвращается полный урл, когда руками перехожу по урлу route('check-payment'), то попадаю в метод

да, ошибся, наоборот, по дефолту - полный

#93 Re: Laravel 5.x » Liqpay не отрабатывает callback » 30.01.2018 12:23:54

https://www.liqpay.ua/ru/doc/callback
судя по всему - server_url вполне валидный параметр.
Учти, что route возвращает (по дефолту) относительный путь, может нужен абсолютный?

#94 Re: Laravel 5.x » Liqpay не отрабатывает callback » 30.01.2018 12:22:05

Разве 'server_url' => route('check-payment'), не перебивает заданную ссылку в ЛК на сайте?

Надо смотреть документацию, не работал с liqpay, но, думаю - вряд ли, ибо это потенциальная угроза безопасности.

#95 Re: Laravel 5.x » Нет данных $_POST » 30.01.2018 12:20:52

        if ($_SERVER['REQUEST_METHOD'] === 'POST') {
            var_dump($_POST);die; //NOTHING!!!
        }

laravel "обнуляет" глобальные переменные, используй \Illuminate\Http\Request

#96 Re: Laravel 5.x » Liqpay не отрабатывает callback » 30.01.2018 11:53:51

В логах ничего не падает?
Со всеми эквайрингами, с которыми я работал, я задавал callback страницу в настройках своего аккаунта на самом сервисе эквайринга - там ссылка корректная?
Можно еще access log глянуть.

#97 Re: Laravel 5.x » функция with и выборка » 30.01.2018 11:50:54

Всё же может кто-то знает как функция with работает из нутри когда указываешь children.children ?

А какой вопрос?
Нормально работает) подгружает children у children если такая связь определена.

Проблему вложенных списков не решить эффективно без поддержки со стороны БД.
Не знаю какая у тебя БД, но если MySQL/PostgreSQL, то вот хорошее решение - https://github.com/lazychaser/laravel-nestedset

#99 Re: Laravel 5.x » Laravel 5.4+ и fb api , постинг статьи в ленте. » 30.01.2018 11:33:50

Спасибо, только поправлю, вырезка из документации "тогда как срок действия маркеров длительного действия составляет около 60 дней."
У меня бывало, что токен терял годность и через 2 недели.
строго 60 дней - это только мобилки.

#100 Re: Laravel 5.x » Laravel 5.4+ и fb api , постинг статьи в ленте. » 29.01.2018 15:02:03

Токены фб живут 60 дней, если в группу постите.

60 дней живут же только long lived токены, которые получены через авторизацию мобильного приложения?

config('social.facebook.default_access_token') - это токен чего? как его получили?

Подвал раздела