• Как отфильтровать результаты v-for на полученное через select options значение в VueJS?

    @MSAFT Автор вопроса
    А что делать, когда из массива нужно получить не только бренд(а еще логотип, цену и прочее что нет необходимости фильтровать) и фильтров так же несколько?
    <div v-for="profile in filterByBrand" class="row feed">
     <img alt="" :src="`${profile.company.logo}`" width="100%">
    <a :href="`/companies/${profile.company.id}`" target="_blank" class="title">{{profile.company.name}}</a>
    <span>Бренд: {{profile.brand.name}}
    <br>Страна производитель: {{profile.brand.country}}</span>
    <p class="text-muted">{{`${profile.sides}`}}</p>
    <h5>Цена: {{Math.round(profile.price)}} </h5>
    </div>


    <select v-model="brand" class="custom-select">
          <option v-for="brand in brands.sort()" :value="brand">{{ brand }}</option>
        </select>
    
    <select  v-model="country" class="custom-select">
          <option v-for="brand in countries.sort()" :value="brand">{{ brand }}</option>
        </select>
    
    <select v-model="side" class="custom-select">
          <option v-for="side in sides.sort()" :value="side">{{ side }}</option>
        </select>
    
    <select v-model="company" class="custom-select">
          <option v-for="company in companies.sort()" :value="company">{{ company }}</option>
        </select>


    Сделал как вы советуете,
    methods: {
    
          filterByBrand() {
            return this.profiles.filter(n => n.brand.name === this.brand);
          }, 
    }


    <div v-for="profile in filterByBrand" class="row feed">


    Пробывал еще так:
    <div v-for="profile in profiles | filterByBrand" class="row feed">


    Но в браузере ничего не отображается, т.е. массив profile empty приходит пустой, смотрел через Vue DevTools

    UPD: Хотя даже просто вот так, ничего не отдает:
    filteredProfiles() {
            return this.profiles;
          },


    Проблема где-то глубже, буду копать
  • Как словить данные сессии в контроллере Laravel?

    @MSAFT Автор вопроса
    Теперь всё заработало как и требовалось в другом контроллере! БОЛЬШОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!!!
  • Как словить данные сессии в контроллере Laravel?

    @MSAFT Автор вопроса
    backEndDeveloper, спасибо, я раньше не знал для чего нужен middleware :)

    Ваше замечание + почитал документацию и понял, написал так:
    public function handle($request, Closure $next)
        {
    
            if (session()->has('city') === false) {
               session()->put('city', 'Base City');
            }
    
            return $next($request);
        }


    Теперь во вьюшке все красиво:
    @lang('nav.region'):{{ session('city') }}
  • Как словить данные сессии в контроллере Laravel?

    @MSAFT Автор вопроса
    Тоже хотел избавиться от логики во вьюшке, но это header, который работает на всех страницах и через роут никак не вызывается. А city меняется только по запросу пользователя.

    Поэтому не знал как это сделать и прописал во вьюхе базовое значение сессии
  • Как словить данные сессии в контроллере Laravel?

    @MSAFT Автор вопроса
    Модератор, сравнение некорректное. Фотошоп это приложение, и что там используется С++ многие даже не знают. Laravel это PHP Фреймворк на котором пишут используя PHP(так же фреймворки ReactJS, VueJS непосредственно связанны с языком JavaScript), фотошопом же не пользуются используя С++.

    Логики вашей я не уловил, могли бы просто сказать что хотели бы чтоб на сайте по тегу php выводились только вопросы по поводу программирования на чистом PHP. Я бы понял, но никак не сравнение приложения и фреймворка.

    А по конкретному случаю, ок, впредь не буду указывать теги php в вопросах по laravel, тк тег laravel и так подразумевает вопрос связанный с php.
  • Как словить данные сессии в контроллере Laravel?

    @MSAFT Автор вопроса
    Модератор, а разве фреймворк Laravel никак не связан с PHP?
  • Как словить данные сессии в контроллере Laravel?

    @MSAFT Автор вопроса
    Модератор, пардон, случайно тегнул Vue JS, т.к. в проекте есть элементы
  • Как словить данные сессии в контроллере Laravel?

    @MSAFT Автор вопроса
    Артур,

    Просто возвращает так же null:
    Screenshot-from-2019-03-14-12-34-08.png
  • Yii2 не находит класс и не определяет переменные, в чем может быть пробема?

    @MSAFT Автор вопроса
    Mylistryx, в то и дело, что нет. Иначе я бы первым делом это поправил.
  • Yii2 не находит класс и не определяет переменные, в чем может быть пробема?

    @MSAFT Автор вопроса
    Максим Тимофеев, нашел проблему, в php.ini надо было прописать

    short_open_tag = On

    вместо

    short_open_tag = Off

    Какое это отношение имеет к переменным я так и не понял. Появились другие ошибки, но это уже другая история)))
  • Yii2 не находит класс и не определяет переменные, в чем может быть пробема?

    @MSAFT Автор вопроса
    Максим Тимофеев, забавно, но продакшн сервер так же на Ubuntu, правда 16.04, а у меня локалка 18.10

    Куча проектов laravel, symfony, RoR, Wordpress всякие работают, а именно на Yii2 - нет
  • Yii2 не находит класс и не определяет переменные, в чем может быть пробема?

    @MSAFT Автор вопроса
    Перепроверил все модули php для yii2, установил все что нужно.
  • Yii2 не находит класс и не определяет переменные, в чем может быть пробема?

    @MSAFT Автор вопроса
    Максим Тимофеев, а нет кода ошибки, просто пишет:

    PHP Fatal Error – yii\base\ErrorException
    Class 'Html' not found


    Прописываю весь путь классу, он его находит, но после этого уже пишет что undefined variable $model, хотя она объявлена в самом начале файла. И так же на дргуой странице, например на странице about пишет что не объявлена переменная $bgUrl, хотя так же объявлена выше как $bgUrl = '/img/wide-bg_main-page.jpg'; и даже если такого файла нет, то логично что просто картинка не должна подгружаться, а не падать ошибка.
  • Yii2 не находит класс и не определяет переменные, в чем может быть пробема?

    @MSAFT Автор вопроса
    Дархан Кутжанов,
    index.php
    <?php
    defined('YII_DEBUG') or define('YII_DEBUG', true);
    defined('YII_ENV') or define('YII_ENV', 'dev');
    
    require(__DIR__ . '/../../vendor/autoload.php');
    require(__DIR__ . '/../../vendor/yiisoft/yii2/Yii.php');
    require(__DIR__ . '/../../common/config/bootstrap.php');
    require(__DIR__ . '/../config/bootstrap.php');
    
    $config = yii\helpers\ArrayHelper::merge(
        require(__DIR__ . '/../../common/config/main.php'),
        require(__DIR__ . '/../../common/config/main-local.php'),
        require(__DIR__ . '/../config/main.php'),
        require(__DIR__ . '/../config/main-local.php')
    );
    
    $application = new yii\web\Application($config);
    $application->run();


    common/config/main.php
    <?php
    use yii\rbac\DbManager;
    
    return [
        'vendorPath' => dirname(dirname(__DIR__)) . '/vendor',
        'language' => 'ru-RU',
        'components' => [
            'cache' => [
                'class' => \yii\mongodb\Cache::class,
            ],
            'urlManager' => [
                'enablePrettyUrl' => true,
                'showScriptName' => false,
            ],
            'userLog' => [
                'class' => \common\components\userLog\UserLog::class,
            ],
            'staticManager' => [
                'class' => '\common\components\staticManager\LocalStore',
                'localPath' => '@frontend/web/file-storage/',
            ],
            'formatter' => [
                'class' => \common\components\Formatter::class,
            ],
            'authManager' => [
                'class' => DbManager::class,
                'itemTable' => 'admin_auth_item',
                'itemChildTable' => 'admin_auth_item_child',
                'assignmentTable' => 'admin_auth_assignment',
                'ruleTable' => 'admin_auth_rule',
            ],
            'authClientCollection' => [
                'class' => 'yii\authclient\Collection',
                'clients' => [
                    'facebook' => [
                        'class' => 'yii\authclient\clients\Facebook',
                        'clientId' => 'facebook_client_id',
                        'clientSecret' => 'facebook_client_secret',
                    ],
                    'google' => [
                        'class' => 'yii\authclient\clients\Google',
                        'clientId' => 'google_client_id',
                        'clientSecret' => 'google_client_secret',
                    ],
                ],
            ],
            'user' => [
                'class' => \common\components\User::class,
            ],
            'currency' => [
                'class' => \common\components\Currency::class,
            ],
            'db' => [
                'enableSchemaCache' => true,
                'queryCacheDuration' => 60,
                'class' => 'yii\db\Connection',
                'schemaMap' => [
                    'pgsql' => \common\db\Schema::class, // PostgreSQL
                ],
                'on afterOpen' => function ($event) {
                    $event->sender->createCommand("SET datestyle = \"German, DMY\"")->execute();
                    $event->sender->createCommand("SET TIMEZONE TO 'GMT';")->execute();
                },
            ],
            'languageDetector' => [
                'class' => 'common\components\LanguageDetector',
            ],
            'i18n' => [
                'translations' => [
                    'app' => [
                        'class' => 'yii\i18n\PhpMessageSource',
                        'basePath' => '@common/messages',
                        'sourceLanguage' => 'ru-RU',
    //                    'fileMap' => [
    //                        'app' => 'app.php',
    //                    ],
                    ],
                ],
            ],
            'elasticsearch' => [
                'class' => \common\elasticsearch\ElasticsearchConnection::class,
                'index' => 'app_name',
                'nodes' => [
                    ['http_address' => 'localhost:9200'],
                ],
            ],
            'mongodb' => [
                'class' => '\yii\mongodb\Connection',
                'dsn' => 'mongodb://localhost:27017/app_name',
            ],
        ],
        'aliases' => [
            '@bower' => '@vendor/bower-asset',
            '@npm'   => '@vendor/npm-asset',
        ],
        'bootstrap' => [
            'languageDetector', 'log'
        ],
    ];


    common/config/main-local.php
    <?php
    return [
        'components' => [
            'db' => [
                'class' => 'yii\db\Connection',
                'dsn' => 'pgsql:host=localhost;dbname=app_name;port=5432',
                'username' => 'postgres',
                'password' => '12345',
                'charset' => 'utf8',
            ],
            'mailer' => [
                'class' => 'yii\swiftmailer\Mailer',
                'viewPath' => '@common/mail',
                // send all mails to a file by default. You have to set
                // 'useFileTransport' to false and configure a transport
                // for the mailer to send real emails.
                'useFileTransport' => true,
            ],
            'staticManager' => [
                'publicDomain' => 'http://app_name.loc',
            ],
        ],
    ];


    frontend/config/main.php
    <?php
    $params = array_merge(
        require(__DIR__ . '/../../common/config/params.php'),
        require(__DIR__ . '/../../common/config/params-local.php'),
        require(__DIR__ . '/params.php'),
        require(__DIR__ . '/params-local.php')
    );
    
    return [
        'id' => 'app-frontend',
        'basePath' => dirname(__DIR__),
        'bootstrap' => ['log'],
        'controllerNamespace' => 'frontend\controllers',
        'components' => [
            'seoModule' => \common\components\SEO\SeoModule::class,
            'user' => [
                'identityClass' => 'common\models\User',
                'enableAutoLogin' => true,
            ],
            'log' => [
                'traceLevel' => YII_DEBUG ? 3 : 0,
                'targets' => [
                    [
                        'class' => 'yii\log\FileTarget',
                        'levels' => ['error', 'warning'],
                    ],
                ],
            ],
            'errorHandler' => [
                'errorAction' => 'site/error',
            ],
            'urlManager' => [
                'rules' => [
                    '<controller:\w+>/<action:[\w._-]+>' => '<controller>/<action>',
                    'translation/<lang:\w+>/messages.js' => 'translation/messages',
                    ['class' => '\frontend\urlRules\PageRule', 'pattern' => '<action:\w+>', 'route' => 'page/view'],
    
                ],
            ],
            'response' => [
                'formatters' => [
                    \yii\web\Response::FORMAT_JSON => [
                        'class' => 'yii\web\JsonResponseFormatter',
                        'prettyPrint' => YII_DEBUG, // use "pretty" output in debug mode
                        // ...
                    ],
                ],
            ],
            'assetManager' => [
                'forceCopy' => true,
                'linkAssets' => false,
                'converter' => '\common\components\AssetConverter',
                'bundles' => [
                    'yii\bootstrap\BootstrapAsset'=> false,
    //                'yii\bootstrap\BootstrapAsset' => [
    //                    'basePath' => '@common/assets/resources',
    //                    'sourcePath' => '@common/assets/resources',
    //                    'css' => [],
    //                    'depends' => [
    //                        'common\assets\CommonStylesAsset'
    //                    ]
    //                ],
    //                'yii\bootstrap\BootstrapPluginAsset' => [
    //                    'basePath' => '@common/assets/resources',
    //                    'sourcePath' => '@common/assets/resources',
    //                    'js' => ['js/bootstrap.min.js']
    //                ]
                ],
            ],
        ],
        'params' => $params,
        'modules' => [
            'hotel-search' => [
                'class' => 'frontend\modules\hotelSearch\Module',
            ]
        ]
    ];


    fontend/config/main-local.php
    <?php
    
    $config = [
        'components' => [
            'request' => [
                // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
                'cookieValidationKey' => 'XcnyDY1S8ccnOOITjHn-GcIU9f4bRbv4',
            ],
        ],
    ];
    
    if (!YII_ENV_TEST) {
        // configuration adjustments for 'dev' environment
        $config['bootstrap'][] = 'debug';
        $config['modules']['debug'] =[
            'class' => 'yii\debug\Module',
            'panels' => [
                \yii\mongodb\debug\MongoDbPanel::class,
            ],
            'allowedIPs' => ['127.0.0.1', '::1', '192.168.*'],
        ];
    
        $config['bootstrap'][] = 'gii';
        $config['modules']['gii'] = [
            'class' => 'yii\gii\Module',
            'generators' => [
                'crud' => ['class' => 'common\gii\crud\Generator'],
            ],
            'allowedIPs' => ['127.0.0.1', '::1', '192.168.*'],
        ];
    }
    
    return $config;
  • Yii2 не находит класс и не определяет переменные, в чем может быть пробема?

    @MSAFT Автор вопроса
    Евгений, первым делом

    composer install
    Loading composer repositories with package information
    Installing dependencies (including require-dev) from lock file
    Nothing to install or update
    Generating autoload files
  • Yii2 как решить ошибку при миграции?

    @MSAFT Автор вопроса
    Артур Э., не как ниже автор писал, а как выше я описал решение верней.
  • Yii2 как решить ошибку при миграции?

    @MSAFT Автор вопроса
    Артур Э., да. Странно. Решил путём описанным ниже
  • Yii2 как решить ошибку при миграции?

    @MSAFT Автор вопроса
    База то новая, и в других миграциях такого ключа нет