Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (11)

Лучшие ответы пользователя

Все ответы (11)
  • Как реализовать междоменную авторизацию на Laravel?

    @SteepZero
    Недавно реализовывал межсайтовую авторизацию
    Сайт на Joomla <--> SSO на Laravel <--> Сайт на Laravel
    Чуть позже залью на GitHub, выложу сюда
    Ответ написан
  • Как поднять yii2 на docker?

    @SteepZero
    Почитай про docker-compose

    В проекте создаешь файл docker-compose.yml, там описываешь свои контейнеры
    отдельный контейнер для nginx, отдельный для php-fpm, отдельный для БД
    Настраиваешь для них volumes и т.д.

    Вот пример того, как я делаю для Laravel
    Для Yii все примерно то же самое

    docker-compose.yml:
    version: '3'
    
    services:
      nginx:
        image: nginx:latest
        ports:
          - 80:80
        volumes:
          - ./:/var/www/html
          - ./docker/nginx/conf.d:/etc/nginx/conf.d
          - ./docker/nginx/logs:/var/log/nginx/
      php:
        image: php:7.2-fpm
        volumes:
          - ./:/var/www/html
      db:
        image: mysql:latest
        environment:
          MYSQL_DATABASE: labbit
          MYSQL_ROOT_PASSWORD: rootlabbit
          MYSQL_USER: labbit
          MYSQL_PASSWORD: labbit
        ports:
          - 3306:3306
        volumes:
          - db_data:/var/lib/mysql
    
      redis:
        image: redis:latest
    volumes:
      db_data:


    docker/nginx/conf.d/site.conf:
    server {
        listen 80;
        listen [::]:80;
    
        server_name labbit.local www.labbit.local;
    
        root /var/www/html/public/;
        index index.php;
    
        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;
    
        location / {
            root /var/www/html/public/;
            try_files $uri $uri/ /index.php$is_args$args;
            autoindex off;
            index index.php;
        }
    
        location ~ \.php$ {
            set $path_info $fastcgi_path_info;
            root /var/www/html/public/;
            fastcgi_index index.php;
            fastcgi_split_path_info ^(.+?\.php)(/.*)$;
            try_files $uri $uri/;
            include /etc/nginx/fastcgi_params;
            fastcgi_pass php:9000;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }
    }
    Ответ написан
  • Как правильно составить запрос к БД?

    @SteepZero
    $posts = Post::whereIn('id', Auth::user()->watchlist()->select('post_id')->get()->toArray())->get();

    По полочкам:
    Post::whereIn( 'id' , array ) - плучаем все посты, id которых есть в массиве array

    Массив array формируется вот так: Auth::user()->watchlist()->select('post_id')->get()->toArray()
    Auth::user()->watchlist() - получаем QueryBuilder для запроса к WatchList (должна быть связь one-to-many в модели user)
    ->select('id') - ограничиваем выборку из WatchList одними id'шниками
    ->get()->toArray() - получаем id`шники, переводим в массив
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (13)