Задать вопрос
Ответы пользователя по тегу Laravel
  • Как правильно писать phpunit тесты?

    <?php
    
    namespace Tests\Feature;
    
    use App\Services\ContentService;
    use GuzzleHttp\Client;
    use Tests\TestCase;
    
    class ContentServiceTest extends TestCase
    {
        public function testsqrt(): void
        {
            $config = [];
            $client = new GuzzleHttp\Client($config);
            $o = new ContentService($client);
            $this->assertEquals(4, $o->sqrt(16));
        }
    }


    Если $client будет использоваться ещё где то в тестовом классе, вынести его инициализацию.
    Ответ написан
    Комментировать
  • Laravel как объединить данные из разных таблиц в одном запросе?

    Напишите простой запрос с JOIN, не занимайтесь ерундой.
    https://laravel.com/docs/5.7/database#running-queries
    Ответ написан
    Комментировать
  • Laravel сменить тип поля created_at?

    Если сделаете ALTER на datetime должно быть всё нормально, только учтите что timestamp выводится с учётом временной зоны установленной в my.cnf или в текущей mysql сессии.
    И как бы не получилось, что при альтере столбца с датой в результате значения стали бы не те из-за не правильно установленной таймзоны.
    Попробуйте сначала сделать локально миграцию.
    Ответ написан
    Комментировать
  • Как протестировать request через codeception в laravel?

    У Вас в маетоде username класса LoginController указан Request $request ?
    Скорее всего Вы не передали $request в один из параметров username().
    $I->assertEquals('name', $loginController->username($request));
    Ответ написан
    Комментировать
  • Как указать permissons при создании директории?

    Нет нельзя.

    // vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php
    
    /**
         * Create a directory.
         *
         * @param  string  $path
         * @return bool
         */
        public function makeDirectory($path)
        {
            return $this->driver->createDir($path);
        }


    // vendor/league/flysystem/src/Adapter/Ftp.php:332
    /**
         * @inheritdoc
         */
        public function createDir($dirname, Config $config)
        {
            $connection = $this->getConnection();
            $directories = explode('/', $dirname);
    
            foreach ($directories as $directory) {
                if (false === $this->createActualDirectory($directory, $connection)) {
                    $this->setConnectionRoot();
    
                    return false;
                }
    
                ftp_chdir($connection, $directory);
            }
    
            $this->setConnectionRoot();
    
            return ['type' => 'dir', 'path' => $dirname];
        }


    P. S.: Вообще не для случая с фтп права задаются значением параметр 'visibility' у которого по умолчанию значение public:

    // vendor/league/flysystem/src/Adapter/Local.php:34
    /**
         * @var array
         */
        protected static $permissions = [
            'file' => [
                'public'  => 0644,
                'private' => 0600,
            ],
            'dir'  => [
                'public'  => 0755,
                'private' => 0700,
            ],
        ];
    
    // vendor/league/flysystem/src/Adapter/Local.php:368
    
    /**
         * @inheritdoc
         */
        public function createDir($dirname, Config $config)
        {
            $location = $this->applyPathPrefix($dirname);
            $umask = umask(0);
            $visibility = $config->get('visibility', 'public');
    
            if ( ! is_dir($location) && ! mkdir($location, $this->permissionMap['dir'][$visibility], true)) {
                $return = false;
            } else {
                $return = ['path' => $dirname, 'type' => 'dir'];
            }
    
            umask($umask);
    
            return $return;
        }
    Ответ написан
    Комментировать