Ответы пользователя по тегу Laravel
  • Как миграциями подключить уже рабочую БД?

    @rsi
    software engineer
    Миграции это способ изменения базы данных. Во всех примерах показывают как писать миграции на создание таблиц, но это более мощный инструмент. Он позволяет производить со структурой базой любые изменение. Из этого вытекает вопрос, что вы имеете ввиду под "работать с уже существующими таблицами через миграции"?

    Так же как и с не существующей:
    - Хотите иметь миграции на создание вашей базы напишите их, не хотите не пишите просто работайте с базой без миграции
    - Хотите модифицировать структуру (еще раз делаю акцент на том что миграции изменяют именно структуру базы, добавляют, удаляют таблицы, поля в базу, меняют их тип и тд) уже имеющихся таблиц? Напишите миграции на эти изменения.

    Если у вас есть база и вы хотите подключить к ним ларавел то миграции вам вообще не нужным, так как за работу с данными в базе отвечают модели, а не миграции
    Ответ написан
  • Почему laravel возвращает "No properties"?

    @rsi
    software engineer
    Так он нормально отрабатывает, возвращает вам поля с реквеста, а их нет, пустой массив, вы в инструментах разработчика посмотрите не то что приходит от сервера, а то что туда уходит
    Ответ написан
  • Существует ли альтернатива Guzzle для запросов к внешним api или как его верно подключить в свой пакет?

    @rsi
    software engineer
    У меня уже спортивный интерес... мощный фреймворк, но для каждой итерации нужно еще кучу всего установить зачастую друг с другом не совместимых


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

    Существует ли альтернатива Guzzle для запросов к внешним api


    Разумеется, Guzzle это обертка над штатным CURL, не хотите использовать удобный Guzzle, пишите запросы на CURL руками, если 20мб для вас так критичны и подвод не использовать удобный пакет, то это ваш выбор.

    Ежели альтернативы нет... то как подключить этот Guzzle только к своему пакету?


    К какому своему пакету? Вы пишите не приложение на laravel А пакет для него?
    Но в любом случае почитайте про зависимости и о том как работает composer.

    Подключение в laravel выглядит так:
    1) Добавить в require composer.json
    2) composer update
    3) можно пользоваться
    В классе где вы хотите использовать Guzzle подключаете неймспейсы, например use GuzzleHttp\Client и все работает, если не работает то вы где то ошиблись (хотя в двух простых шагах тяжело ошибиться) и надо смотреть ваш код.

    Если вы разрабатываете свой пакет, то собственно надо смотреть как вы делаете. Но в целом, ситуация мало чем отличается. Основное отличие, что его нужно добавлять в composer.json пакета, а не приложения
    Ответ написан
  • Хватит ли 1024MB ОЗУ для laravel проекта?

    @rsi
    software engineer
    Хватит ли мне 50 литров бензина, что бы доехать из моего города, то того города в который я еду?
    Но отбросим сарказм, что за сайт? какова посещаемость, какой объем данных?
    Ответ написан
    2 комментария
  • Как правильно построить архитектуру в MVC?

    @rsi
    software engineer
    Для начала, блейд это просто обертка над php, и не использование его дает даже больше возможностей чем его использование, хоть и не так красиво выглядит.

    Далее у вас два варианта:
    1) Сделать как сказал DieZz, view->share('key', 'value') прописать это лучше всего в контролере от которого потом унаследовать все другие контроллеры.

    2) Определить класс для управления меню и сделать его инжекцию в самой вьюхе. Далее вариант с блейдом, как сделать без блейда надеюсь разберетесь
    @inject('metrics', 'App\Services\MetricsService')
    
    <div>
        Monthly Revenue: {{ $metrics->monthlyRevenue() }}.
    </div>


    С одной стороны делать иньекции во вьюхе вроде как не красиво, с другой стороны шаблон, это не вью, контроллера своего у него нет. Короче холиварная тема, решать вам.
    Ответ написан
    Комментировать
  • Как исправить ошибки установки?

    @rsi
    software engineer
    Какой то странный вопрос.
    потом из папки ларавел вывалил все в папку сайта, не работает artisan (vendor/autoload.php отсутствует)

    Если вы все вывалили в папку сайта то где тогда vendor/autoload.php? Ведь "composer create-project laravel/laravel --prefer-dist" ее создает если конечно без ошибок проходит, если с ошибками тогда почему вы их не привели?


    далле нашел и юзнул:
    composer install

    но ничего не помогло, что делать?

    Так почему не помогло, что произошло когда вы это использовали?
    Ответ написан
    Комментировать
  • Выбор связей с помощью JOIN в Laravel 4.2?

    @rsi
    software engineer
    А зачем вам вообще писать запрос? Используйте связи между моделями, по связи получите коллекцию с постами у нее есть метод count. Проще не бывает.

    Ок, теперь смотрите я вам примеры прямо из официального туториала кидаю

    $user = App\User::find(1);
    $user->posts()->where('active', 1)->get();


    Есть такой вариант, выгрузить всех пользователей, а потом прокручивая в цикле фильтровать их статьи по параметрам и выводить количество.

    Есть второй вариант, глава называется Querying Relationship Existence

    // Retrieve all posts that have at least one comment...
    $posts = App\Post::has('comments')->get();
    
    // Retrieve all posts that have three or more comments...
    $posts = Post::has('comments', '>=', 3)->get();
    
    // Retrieve all posts that have at least one comment with votes...
    $posts = Post::has('comments.votes')->get();
    
    // Retrieve all posts with at least one comment containing words like foo%
    $posts = Post::whereHas('comments', function ($query) {
        $query->where('content', 'like', 'foo%');
    })->get();


    Это выведет всех пользователей у которых записи в связанной таблице удовлетворяют вашим критериям. У тех кого не вывело соотвественно 0 и всего то.
    Ответ написан
  • Поиск похожих статей в Laravel 4.2?

    @rsi
    software engineer
    Я бы жахнул какой нибудь сфинкс.
    Ответ написан
  • Правильно ли я понимаю фасад в Laravel?

    @rsi
    software engineer
    Вы все правильно описали, в ларе фасад это не реализация паттерна фасад.
    Ответ написан
    Комментировать
  • В каком месте надо располагать кастомный Authoriazation class в Laravel?

    @rsi
    software engineer
    Я понимаю ваш вопрос, но не полностью, в каком конкретно месте у вас затык? В принципе на самом laravel.com есть неплохое описание авторизации.

    Я так понимаю вы не совсем понимаете архитектуру ларавел? Потому что вы скорее всего правите контроллер, так он лежать должен в папке контроллеров. По факту допила, родная авторизация в ларавеле из коробки работает на трейтах (советую почитать что такое trait в php) и они подмешивают функционал к контроллеру, вам необходимо просто переопределить метод авторизации, по факту в auth контроллере вам нужно реализовать свой метод который перекроет метод из трейта.
    Ответ написан
  • Почему не взлетает Laravel?

    @rsi
    software engineer
    Какой ларавел? Какой PHP? в ларавел есть конфиги /config/app.php поставьте там Debag в true, он начнет выводить ошибки если это его ошибки. Стек трейс который вы кинули выглядит как не полный.
    Ответ написан
  • Как найти файл .env во фреймворке laravel?

    @rsi
    software engineer
    Элементарно ватсон. Файл называется .env точка в начале имени означает скрытый файл для nix систем (странно что нетбинс его не отображает, вроде как должен, но точно не знаю). Содержимое папки вы выводите с помощью команды ls, но она тоже не видит скрытые файлы, для их просмотра нужно выполнять ls -A (или ls -a не помню точно, прочтите ман)
    Ответ написан
    Комментировать
  • Выбор языка/фреймоврка под текущий проект и с прицелом на будущее?

    @rsi
    software engineer
    php - Symfony 2
    python - Django
    ruby - RoR
    Чот выбирать разницы нет, исключительно ваши предпочтения. Не можете выбрать сами? Подбросьте монетку.
    Ответ написан
    4 комментария