Laravel по-русски

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

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

#1 Re: Laravel 6 » Верификация аккаунта » Вчера 23:29:36

Написано же: пропущен необходимый параметр.  В этом проблема.
Написаны сами параметры. Их два. Где именно это происходит наверняка тоже написано, но ты не показал. После чего вдруг что-то изменилось ты тоже не написал, но наверное в курсе.
Если не на странице, то в логах точно должен быть стек вызовов по которому можно найти файл и строку с косяком.

#3 Хорошие практики (FAQ) » Эффективное использование PHPstorm: пакеты, плагины и приёмы » 19.01.2020 12:35:57

artoodetoo
Ответов: 0

Поделюсь своим опытом и буду рад если добавите от себя.

0. Чтобы не словить нежданчик, cразу добавляю в .gitignore к "стандартным" строкам:

.idea
.php_cs.cache
_ide_helper.php
_ide_helper_models.php
.phpstorm.meta.php

1. Добавляю в проект пакет Laravel IDE Helper. Это резко расширяет возможности автокомплита в PHPstorm.

2. Добавляю плагин Laravel Idea от Adelf. Он расширит автокомплит для маршрутов и правил валидации, а также добавит полезные кодогенераторы.

3. К сожалению в хелпере для Blade нет встроенной поддержки phpdoc чтобы подсказать IDE что это за данные. Народ просит, но пока нет. Я выкручиваюсь так: в начале шаблона создаю "фиктивную" секцию @php только ради phpdoc:

@php
/**
 *  @var App\Plan[] $plans
 *  @var App\User $user
 */
@endphp

Ну и конечно надо использовать горячие клавиши чтобы ускориться. Мышь/трекпад только дополняют клавиатуру, хоткеи наше всё! Из самых употребимых:
Cmd+клик переход к объявлению переменной/класса/маршрута и т.д.
Shift, Shift поиск файла или класса
Cmd+[, Cmd+] история переходов
Ctrl+Tab переход по открытым табам
Cmd+цифра вкл/выкл инструментальных панелей
Cmd+/ закоментировать/раскоментировать строку(и) с учётом типа файла

#4 Re: Laravel 6 » Очереди не записываются в БД » 17.01.2020 16:16:30

А в .env у тебя упоминается QUEUE_DRIVER ?
Миграции выполнил (если драйвер для базы) ?

#5 Re: Вакансии » Для любителей нестандартных задач - Переделать калькулятор » 14.01.2020 12:55:19

Есть поле From, а есть Reply-To smile Форум их ставит как надо.

Настоящих личных сообщений fluxbb из коробки не умеет. Как по мне, так и не надо. Вот чего хотелось бы, так это обращения по нику @username. И извещений где тебя цитировали, где к тебе обращались.

#6 Re: Laravel 5.x » Eloquent, Relationships, Left Join » 14.01.2020 12:48:49

Отношения это удобно. Не всегда нужна супер-эффективность запросов, а вот простота и понятность, удобство поддержки кода важны всегда.

Если шире смотреть, фреймворки вообще создаются для того, чтобы типовые задачи решать просто и быстро. Отношения надо рассматривать не в противовес SQL, а как важный кирпичик в здании фреймворка smile Я считаю если твои данные в БД находятся в отношениях, то описать их через has*/belongsTo* это просто must have. Чтобы было понятно.

#7 Re: Laravel 5.x » Eloquent, Relationships, Left Join » 09.01.2020 16:37:11

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

Foo::select(...)
->leftJoin('foo_bar',...)
->leftJoin('bar',...)
->get()

https://laravel.com/docs/5.8/queries#joins

#8 Re: Laravel 5.x » Как исправить ошибку при попытке миграции? » 09.01.2020 12:07:01

Я бы сначала убедился что MySQL работает и доступен, любым доступным способом. Потом перепроверил бы под каким именем мапится контейнер с БД. Может быть так вернее:

DB_HOST=mysql

и уж точно не использовал бы вход под root

#9 Re: Laravel 5.x » Как исправить ошибку при попытке миграции? » 09.01.2020 12:03:36

Где-то ты ошибся, но мы не сможем сказать, т.к. это зависит от твоих местных настроек laradock.
Вот тема, читай, пробуй: https://github.com/laradock/laradock/issues/1299

#10 Re: Laravel 5.x » Повторное использование Form на нескольких страницах » 07.01.2020 22:57:38

Как насчет такого подхода?

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

Истина где-то посередине.

#11 Re: Laravel 5.x » Повторное использование Form на нескольких страницах » 07.01.2020 14:56:30

Я просто копирую шаблон. Тот случай, когда копи-паста это благо.

#12 Re: Laravel 6 » Laravel 6 конструкторы » 06.01.2020 12:09:52

Вопрос 2 - Как выложить фотo в форум ? Через тэги IMG у меня не получилось. Файл лежит в диске C:\ папка Pictures

Можно выложить на сервис картинок типа https://imgur.com/ и потом дать ссылку в img.

Я в восторге от скриншотилки https://monosnap.com/ — есть под винду и мак, можно сделать скриншот, добавить стрелочки-подписи и сохранить в бесплатное хранилище, ссылки для форума генерятся. Минимум теложвижений, максимум эффекта.

bcTEqg3FtcxSpgfJtHRfdvYkgbhEhh

aflnOZh3g83wV0z6KxRg0rqYLH0bsE

#13 Re: Laravel 6 » Laravel 6 конструкторы » 05.01.2020 21:06:21

В конструкторе контроллера нельзя работать с куками и вообще с запросом. Жизненный цикл Laravel таков, что в момент создания конроллера объект request ещё не готов, т.к. мидлвары ещё не отработали. В частности кука может быть ещё не раскодирована (они ведь в Laravel encrypted by default)

https://laravel-news.com/controller-con … aravel-5-3

#14 Re: Laravel 5.x » Laravel 5.8 » 01.01.2020 13:36:54

Ты можешь исключаить один или несколько маршрутов от проверки токена.
Но лучше таки доставить токен на фронт в каком-то предыдущем запросе.

https://stackoverflow.com/a/37136853/272885
https://laracasts.com/discuss/channels/ … ost-routes

#15 Re: Laravel 5.x » Laravel 5.8 » 01.01.2020 12:33:26

Я думаю, что твой клиент, т.е. браузер, реально делает get запрос. Возможно сначала post, а затем get. Такое поведение могло бы быть из-за редиректа. А редирект из-за ошибки в данных.

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

#16 Re: Laravel 5.x » Laravel 5.8 » 01.01.2020 12:29:41

F12, вкладка Network. Там показываются запросы и ответы.

#17 Re: Laravel 5.x » Laravel 5.8 » 01.01.2020 12:16:43

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

P.S. задавать вопрос в картинках — плохой стиль.

#18 Re: Laravel 5.x » Laravel 5.8 » 01.01.2020 12:07:26

Так что же показывает инспектор браузера про конкретно этот запрос?

#19 Re: Laravel 5.x » Laravel 5.8 » 01.01.2020 12:01:03

Вряд ли это Laravel переделывает, скорее таки ты посылаешь так. Проверить-то нетрудно, достаточно заглянуть в инспектор браузера.

#20 Re: Laravel 6 » Laravel запросы к базе данных » 01.01.2020 11:55:59

Во-первых, почему ты используешь left join здесь? Открытое левое или правое соединение подразумевает, что одна из половинок может отсутствовать. Ты думаешь это допустимо, когда товар не найден по его идентификатору? Не думаю! Поэтому здесь уместен только inner join, он же просто join.

Есть подозрение, что тебе надо не итоговую сумму (не только её), но стоимость каждой позиции в корзине, т.е. нужен GROUP BY product_id. Но это только подозрение.

Мой вариант цепочки на Eloquent:

Shoppingcart::select(
  DB::raw('SUM(shoppingcarts.quantity) as sum_quantity'),
  DB::raw('SUM(shoppingcarts.quantity*products.price) as sum_total')
  )
  ->join('products', 'shoppingcarts.product_id', '=', 'products.id')
  ->where('cart_id',$cart_id)

#22 Laravel 6 » Опыт использования laravelshift.com » 26.12.2019 11:39:36

artoodetoo
Ответов: 2

„For 10 bucks, Shift is a no-brainer to upgrade your Laravel projects.“

Я недавно столкнулся. Наш PM пропустил бекенд на v5.8 через Shift и дал мне "доделать работу", ибо то что получилось работать сходу не хотело. Пришлось кое-какие конфликты версий пакетов выверять ручками и были специфические для нашего проекта проблемы типа отношение ко входящим заголовкам. Но это всё равно пришлось бы исправлять когда-то и $10 не те деньги, ради которых стоит упираться.

А вы использовали Shift, какие впечатления?

#23 Re: Laravel 6 » Laravel 6. Не работают конструкции {{ }} в include представлениях » 24.12.2019 15:10:17

@barmaley я думаю ты накосячил с расширением файла.

Blade может подключать через @include() как form_element.blade.php так и form_element.php, но конечно если это просто .php файл, то он НЕ будет обрабатываться как шаблон. Поэтому {{ time() }} выводится по правилам PHP: как простой текст.

#24 Re: Laravel 5 » Скелетон для фреймворка версии 5.8? » 17.12.2019 14:23:53

Оставлю это здесь, т.к. это может быть не всем очевидно. До меня вот дошло не сразу.

Раньше, во времена v5 версии 5.1 и 5.5 были реально очень разными и ограниченно совместимыми.
После того, как Отвелл объявил о релизе 6.0, минорные версии стали вылетать как из пулемёта. Теперь номер минорной версии это номер недельного релиза.

weekly-releases.png?w=1050&ssl=1
( https://laravel-news.com/laravel-releases )

Сейчас правила несколько изменились: версия 6 объявлена LTS, но не нужно цепляться за 6.0.x чтобы оставаться на LTS. В composer.json можно прописать ^6.0 и каждый вызов composer update потенциально может перещёлкнуть циферку до 6.x (x - сколько угодно большое число) — это всё одна мажорная версия, т.е. совместимость остаётся высокой и она по прежнему Long Time Support.

Ещё раз: было 5.5 LTS, теперь 6 LTS (без указания минорной версии)

#25 Re: Laravel 6 » Админка и RBAC » 06.12.2019 09:30:03

У laraveldaily есть генератор админки и парочка готовых решений на разных библиотеках rbac.

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