Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
<h1>{{ trans('front/catname.' . $city_id) }}</h1>
если ты названия хранишь в языковых файлах
в целом или от одного пользователя?
А в чем проблема?
Можно
Не существует ни одного варианта, который не подразумевал бы установку хотя бы одного дополнительного пакета/программы/что еще...
тебе в любом случае нужен какой-то демон (который обслуживает подключения) и какая-то очередь сообщений.
Задам тебе встречный вопрос.
Почему у тебя возникает желание переопределить переменную firm (а на самом деле определить, т.к. ->firm отлавливается через __get)?
Если тебе понадобится еще что-то, кроме названия, как ты предполагаешь это сделать?
Первый вариант - правильный, так ты получишь название фирмы (если фирма есть).
Второй вариант - делает тоже самое, но какой смысл в этом - я не знаю. Ты ведь фактически определил переменную firm и больше не сможешь обратиться к фирме, как к модельке.
Смотря для чего тебе надо. В данном коде ты не совсем проверяешь то, о чем говоришь. В данном коде ты лишь посчитал количество атрибутов у модели.
Количество атрибутов у модели != количеству "колонок" в таблице, т.к. выборку SELECT * можно легко ограничить.
в MySQL/PostgreSQL есть запрос SHOW CREATE SCHEMA 'tableName'; который вернет достоверную информацию о нужной таблице.
Как расширить функцию dump - не знаю.
Для того, чтобы в рантайме узнать больше про экземляр или просто класс, в PHP есть http://php.net/manual/ru/book.reflection.php
По соглашениям модели пишутся в 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 );
}
По большому счету - твой код должен работать и отношения используются корректно.
Права лучше называть по действию, типа - move_to_draft, publish_post, view_syslog, и не завязываться на конкретный action.
Можешь завязываться на action, если ты точно знаешь, что ты хочешь.
Не сработало. Все равно английское сообщение.
В конфигах какой язык? Перевод ошибки для нужного языка есть?
Попробуй так
$this->validate($request, ['name' => 'required|string|min:4|max:25|unique:firms,name'], ['unique' => 'Имя должно быть уникально']);
Языковые файлы можешь скопировать здесь
https://github.com/caouecs/Laravel-lang … ter/src/ru
Как правило требуется получать коллекцию со всеми элементами и что то сделать с каждым. Например вызывать какой то метод элемента.
$model->getService()->getSize();
где getService - фабрика, которая на основе атрибутов возвращает необходимую реализацию.
Будет куча проблем, если все же захочешь наследование моделей.
Не уверен, что то, что ты хочешь сделать - это хорошее решение.
Контроллер можно вызвать так
app()->call([PostController::class, 'methodName']);
Ты делаешь CMS?
В настройках фейсбука callback url правильный?
Видимо какой-то из обработчиков eloquent событий вернул false.
Вопрос у меня такой: насколько такое средство избежания хардкодинга отрицательно скажется на производительности и какие более быстрее, но не хардкодные альтернативы есть?
Пока массив маленький - никак не скажется.
Думаю идеальный для твоего желания паттерн - Presenter.
https://habrahabr.ru/post/309942/ (мне статья не очень понравилась)
Если есть платный аккаунт на ларакасте - можешь там ознакомиться с его использованием.
А Вы можете сказать, в какой момент создаётся экземпляр контроллера?
Прямо перед вызовом нужного action контроллера.
framework/src/Illuminate/Routing/Route.php метод run() -> runController()
runController() дергает getController()
метод getController() создает экземпляр контроллера
Выигрыша нет никакого.
И вряд ли это можно назвать "улучшением поддерживаемости кода".
Возвращается полный урл, когда руками перехожу по урлу route('check-payment'), то попадаю в метод
да, ошибся, наоборот, по дефолту - полный
https://www.liqpay.ua/ru/doc/callback
судя по всему - server_url вполне валидный параметр.
Учти, что route возвращает (по дефолту) относительный путь, может нужен абсолютный?
Разве 'server_url' => route('check-payment'), не перебивает заданную ссылку в ЛК на сайте?
Надо смотреть документацию, не работал с liqpay, но, думаю - вряд ли, ибо это потенциальная угроза безопасности.
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
var_dump($_POST);die; //NOTHING!!!
}
laravel "обнуляет" глобальные переменные, используй \Illuminate\Http\Request
В логах ничего не падает?
Со всеми эквайрингами, с которыми я работал, я задавал callback страницу в настройках своего аккаунта на самом сервисе эквайринга - там ссылка корректная?
Можно еще access log глянуть.
Всё же может кто-то знает как функция with работает из нутри когда указываешь children.children ?
А какой вопрос?
Нормально работает) подгружает children у children если такая связь определена.
Проблему вложенных списков не решить эффективно без поддержки со стороны БД.
Не знаю какая у тебя БД, но если MySQL/PostgreSQL, то вот хорошее решение - https://github.com/lazychaser/laravel-nestedset
В логах ларавела что?
Спасибо, только поправлю, вырезка из документации "тогда как срок действия маркеров длительного действия составляет около 60 дней."
У меня бывало, что токен терял годность и через 2 недели.
строго 60 дней - это только мобилки.
Токены фб живут 60 дней, если в группу постите.
60 дней живут же только long lived токены, которые получены через авторизацию мобильного приложения?
config('social.facebook.default_access_token') - это токен чего? как его получили?