Ответы пользователя по тегу Laravel
  • Какая разница между url и route на Laravel?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Какая разница между url и route на Laravel?

    Идём суда, листаем вниз...

    Видим:
    The route function generates a URL for the given named route
    и
    The url function generates a fully qualified URL to the given path


    Профит.
    Ответ написан
    6 комментариев
  • Как правельно разбить вид Laravel?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Лично я, каких-то проблем особых не вижу. Ну не считая разве что применения ENV внутри шаблонов, но... это уже на Ваш вкус и цвет.
    Ответ написан
    Комментировать
  • Почему laravel говорит, что не существует контроллера?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    но выгружая на хостинг вылезает сообщение
    Это происходит из-за того, что файловая система хостинга (скорее всего, Linux'а) чувствительна к регистру в именах файлов (в отличии от FAT/NTFS Windows'а, на котором у Вас работает OpenServer).

    Что бы такого не происходило - называйте контроллеры с большой буквы. А ещё контроллеры можно складывать в отдельные папки, например Controllers\Admin\MainController ...

    Что бы узнать, что именно вызывает контроллер с именем с маленькой буквы:
    1. Можно поискать по коду всего проекта вот это слово: "adminMainController" (простой метод)
    2. Можно запустить отладчик и последовательно пройтись по коду, однозначно выяснив где косяк

    UPD. Если хотите избежать подобных проблем в будущем - можете сразу (с начала разработки проекта) использовать любой виртуальный сервер с Linux'ом, запуская сайт там. Вариантов масса всяких:
    1. Взять VirtualBox и поставить туда Linux (и настроить всё как надо) самому
    2. Взять какого-нибудь готовый Vagrant или что-то в этом духе
    3. Взять подготовленный специально для Laravel - Homestead

    Лично я использую 1-ый вариант и дома и на работе и проблем за N лет пока ни разу не было. Правда, надо сказать использую такие варианты я не по тому, что у меня проблемы с именами файлов, а по тому, что мне не редко бывают нужны различные unix-утилиты на уровне проекта и тащить их в Windows - весьма сомнительное удовольствие (особенно с учётом того, что далеко не все под Windows они есть)...
    Ответ написан
    Комментировать
  • Как разнести приложение по поддоменам, сохранив на всех частях одну аутентификацию?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Как разнести приложение по поддоменам, сохранив на всех частях одну аутентификацию?
    Подозреваю, что для этого самым простым решением будет использовать использовать одну и ту же базу, в которой эти пользователи лежат. Например, так. Прописать отдельное подключение до базы с пользователями можно как в модели, так и при использовании DB::.

    Второй вариант, более сложный - проксировать данные при их обновлении либо на уровне самой БД (не все БД такое умеют к сожалению, синхронизировать отдельные таблицы в режиме "мульти-мастер"), либо с помощью программы работающей в фоновом режиме, которая будет каждый N-секунд/минут/часов/etc проверять данные в обоих БД и синхронизировать их.

    Правильно ли использовать одну таблицу для всех?
    А в чем Вы видите потенциальную проблему такого подхода?

    Но мне кажется такая система немного запутанной и сложной для дальнейшего усовершенствования.
    Лично мне, сложной она не кажется и особо запутанной тоже. Другой вопрос в том, что в Laravel есть уже готовая система и авторизации, и аутентификации и т.д., в т.ч. различные механизмы схожие с теми, что Вы обозначили как "права доступа".
    Ответ написан
  • Как в Laravel сформировать такой SQL запрос?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
  • Можно ли как-то передать параметры в метод при указании роута в laravel?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Можно ли как-то передать параметры в метод при указании роута в laravel?
    Можно, вот тут об этом довольно подробно написано.
    Ответ написан
    Комментировать
  • Где понятнее всего изучить Laravel 5.4?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    А после того, как Вы перестанете бояться смотреть в исходный код фреймворка, по совету ув. Anton Mashletov, рекомендую проследовать суда, иногда очень выручает!
    Ответ написан
    Комментировать
  • Eloquent ORM не получается составить запрос?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Для этого в Eloquent (и не только) существуют связи, в Вашем случае - один ко многим, т.е. одна сумка -> много фотографий.

    P.S. Eloquent - это такая очень удобная штука, встроенная в Laravel, для работы с данными из БД, в т.ч. позволяющая быстро настраивать связи между объектами.

    ----------

    Ещё есть вариант сделать это прямо на уровне SQL-запроса, для MySQL выглядеть будет примерно так:
    SELECT service_category.*, GROUP_CONCAT(service.id SEPARATOR ',') AS ids
    FROM service_category 
    LEFT JOIN service ON service.category_id = service_category.id
    GROUP BY service_category.id

    В данном примере, таблица service ссылается на таблицу service_category через поле service.category_id. В качестве результата получаем вот такой дополнительный столбец, где перечислены все "service"ы для текущей категории (их ID) с разделителем через запятую:
    59e33ec521904576522071.png

    UPD. Тот запрос который у Вас в примере - это НЕ Eloquent, это QueryBuilder.
    Ответ написан
    1 комментарий
  • Пример крупного проекта на laravel?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Вы бы уточнили, что именно хотите увидеть - тогда можно было бы как-то конкретнее отвечать. "Крупный" проект от "не крупного" мало чем отличается в плане кода. Отличаться они будут преимущественно количеством кода, а не качеством.

    Ну и второй момент - Laravel - это всё же фреймворк, со всеми вытекающими, далеко не каждый стремиться выложить свой "крупный" проект на базе Laravel для всеобщего обозрения...

    Но, давайте попробую угадать... Это (ссылка на сайт оригинал у меня чего-то не открывается, ссылка на гитхаб - внизу страницы) подходит под Ваше определение "крупного" проекта?
    Ответ написан
    1 комментарий
  • Почему не работает GROUP BY в Laravel 5?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Файл /config/database.php, строка 53: 'strict' => true, (в "разделе" 'mysql'), значение поменять на false.

    Подробности:
    59d3c7f6588c1557458510.png
    Ответ написан
    2 комментария
  • Как узнать какие существуют дополнения для laravel 5?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    А как узнать что еще есть? Искал но не нашел в интернете какого-нибудь списка подобных компонентов.
    Laravel следует всем основным стандартам PHP, в т.ч. поддерживается автозагрузка, установка "компонентов" (библиотек) через Composer и т.д., список того, что Вы можете вкрутить в ваш Laravel (и не только) - можно найти тут.
    Ответ написан
    Комментировать
  • Как можно решить такую задачу?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    public function show($name_table)//имя таблицы
        {
            $data = DB::table($name_table)->get();
            return view('admin.table', ['data' => $data]);
        }

    Так?
    Ответ написан
    7 комментариев
  • Как лучше реализовать запись в БД?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
  • Как сформировать динамический запрос в Laravel 5.3?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Как динамически формировать sql запрос если какой(ие) то из параметров не заданы?

    Задавать их значениями по умолчанию или не включать их в SQL-запрос. Других "новых" вариантов, Вы вряд ли придумаете.
    Ответ написан
  • Как передавать переменные из laravel в js?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Как передавать переменные из laravel в js?
    Хранить в хайден инпутах и получать в js
    вполне себе вариант, но для этого не обязательно нужны инпуты, подойдёт примерно любой элемент.

    data атрибутах
    тоже в целом пойдёт.

    или же через
    наверное, не самый удачный вариант "на лету" генерировать JS, но тоже уместен.

    Или ещё как-то можно?
    ещё можно с помощь AJAX'а получать ID записи, например, по URL'у (исключительно как пример*).

    Какой-то глобальной разницы, между всем, что Вы описали - нет. Выбирайте способ, который на Ваш взгляд будет выглядеть "лучше" и используйте его. Вопрос скорее в том, зачем Вам вообще ID поста в JS? нежели, как именно его передать :)
    Ответ написан
    5 комментариев
  • Как происходит загрузка классов в php фреймворках?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    И вот у меня возникает такой вопрос. Получается, при каждом запросе пользователя скрипт обращается к диску в моем случае за 3000 файлами каких-либо классов?
    Не знаю как на серверных версиях Windows, но на "домашних" судя по всему, именно так и есть (с учётом разницы производительности, обычно не в пользу Windows). Linux же умеет кэшировать в памяти любые файлы, к которым вы обращаетесь, будь это .php или .jpg - не имеет особого значения.

    P.S. А с учётом того, что файлов 3тыс. а занимают они 10-30Мб (эти 3тыс. файлов), думаю гораздо продуктивнее хранить их в оперативной памяти, чем 3тыс. раз дёргать жесткий диски, особенно если это НЕ SSD-диск. Что собственно ОС обычно и делает :)
    Ответ написан
    1 комментарий
  • Как реализовать систему "наград" на сайте?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Но как и где сделать проверку на выполнение условий

    Очевидно, что награду за
    Например пользователь написал 10 статей
    нужно проверять там же, где пользователь сохраняет написанную статью. В Laravel среди прочего, так есть система событий.

    Но как и где сделать проверку на выполнение условий

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

    и где реализовать сам код приписания награды?

    В отдельно классе-хелпере, как вариант. А вообще это примерно на 99% зависит от архитектуры приложения.
    Ответ написан
    5 комментариев
  • Как установить Laravel на обычный хостинг-сервер?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Но теперь решил, что пора двигаться дальше и нужно установить его на свой хостинг. Вот только как это сделать? Там нужен композер или еще что-то?

    Не нужен. Композер - это менеджер пакетов, который разгружает файлы в папку "vendor", а так же обновляет их там и т.д. Нет никакой проблемы закачать их "руками", в конечном виде, на хостинг.

    Максимум, что может понадобиться - это наличие сервера Apache (коий есть примерно у 95% хостеров), что бы переопределить корневую директорию проекта.

    Весь мануал будет удивительно краток:
    1. Загружаете все файлы на хост ("как есть")
    2. Создаёте в корешке хоста файл .htaccess вот с таким содержимым:
    <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteRule ^(.*)$ public/$1 [L]
    </IfModule>

    3. Готово

    Там нужен композер или еще что-то? Ну и все эти приблуды с локального сервера. Буду благодарен за предоставление мануала. Спасибо :)

    "Композер и что-то ещё" могут быть нужны при наличии некоторых механизмов "деплоя" (англ. "deploy"), но это уже не хостинг, а как минимум VPS, и желательно там иметь Git и другие механизмы и т.д... Когда Вам это очень понадобиться - вопросы подобные тому, что Вы озвучили выше - отпадут сами собой :)
    Ответ написан
    7 комментариев
  • Как выбрать все месяцы разных годов по одному разу в Laravel?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Для этого, Вам как минимум, нужно будет превратить дату - в месяц...

    В SQL это выглядеть будет так:
    SELECT DISTINCT MONTH(published_at) FROM table1

    Вам осталось только допилить запрос под свои нужны и сконвертировать это в синтаксис Laravel или использовать DB::RAW
    Ответ написан
    Комментировать
  • Как при помощи ajax прочитать данные из БД?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    У каждой не pivot/связущей/промежуточной таблицы (хотя и у них бывает) есть обычно уникальный ключ, чаще всего его называют ID. Соответственно, как бы Вы не выводили комментарии, у каждого из них, должен быть какой-то уникальный индентификатор. По этому идентификатору, соотв., отправляете запрос на страницу/контроллер/метод, с ID'шником комментария который нужно обновить (добавить лайк, добавить +1, и т.д.), с помощью всё того же jQuery.post или jQuery.ajax. Данные - массив, примерно такого содержимого:
    {
        id: 10, //ID комментария
        action: 'like', //действие
        data: 'Hello world' //доп. данные
    }

    (*нарисовал очень схематично)

    получаете ответ от сервера, при желании можно проверить сам ответ или HTTP-статус и обновляете соответствущий же комментарий на странице, всё по тому же ID.

    Всё предельно просто :)

    P.S. Таким же образом Вы можете и получить данные о кол-ве лайков (или любом другом параметре) любого комментария или другого объекта. Отправляете запрос, с ID'шником, получаете ответ.
    Ответ написан