Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
знакомлюсь с ларкой5.4, первый фреймворк.
верстку натянул, начал пилить админку и понял, шо не понимаю, шо делать. читал-читал, не понял.
нужна аутентификация и авторизация юзера, но юзеров то ещё нет. где модели и т.п.?
крч, расчехлите максимально подробно, пожалуйста :]
Не в сети
php artisan db:seed --class=CreateTestUser
создай файл CreateTestUser (seed-файл) - и сделай в нем создание User::create(['login'=>'test', 'password'=>Hash::make('test')]);
подробнее https://laravel.com/docs/5.4/seeding
Новичкам - http://laracasts.com/ , много бесплатных уроков
Изменено covobo (29.09.2017 12:15:23)
Не в сети
Все верно, нужно использовать сиды. Более верный код для стандартной аутентификации:
User::create(['email' => 'admin@admin.com', 'password' => bcrypt('secret')])
Изменено AlexeyMezenin (29.09.2017 13:26:44)
Не в сети
> php artisan db:seed --class=CreateTestUser
Ответ:
[ReflectionException]
Class CreateTestUser does not exist
Не в сети
Ты доку не прочитал. Вот на русском https://laravel.ru/docs/v5/seeding
Тебе нужно сначала создать этот сид класс:
php artisan make:seeder AdminUserSeeder
Потом добавить в него написанный выше код и добавить строку в DatabaseSeeder.php:
$this->call(AdminUserSeeder::class);
А уже потом запускать db:seed
Изменено AlexeyMezenin (29.09.2017 13:37:57)
Не в сети
> php artisan db:seed --class=UsersTableSeeder
Ответ:
[Symfony\Component\Debug\Exception\FatalErrorException]
Class 'User' not found
странно:
Изменено Anque (29.09.2017 13:53:19)
Не в сети
Добавь в сидер:
use App\User;
Или просто используй полное пространство имен:
App\User::create(...);
Изменено AlexeyMezenin (29.09.2017 14:00:43)
Не в сети
в настоящий момент у меня такая ситуация в любых вьюхах, кроме admin.main:
не совсем понимаю, с чем это связанно? с сидами?
если память не изменяет, то исключения начали сыпаться после этих махинаций с сидами, но User::create.. я уже закомментил.
какой-то лог невнятный совсем :\
Изменено Anque (03.10.2017 09:39:17)
Не в сети
хз, попробовал заново поработать с этими вашими сидами.
создал сид-класс:
php artisan make:seeder AdminUserSeeder
добавил в него создание юзера:
use App\User;
...
User::create(['email' => 'admin@admin.com', 'password' => bcrypt('secret')])
в databaseseeder добавил вызов:
$this->call(AdminUserSeeder::class);
сделал в консоли:
Не в сети
также не совсем понятно о чём идет речь в консоли, ибо дефолтным драйвером бд стоит mysql, доступы к которому указаны корректно:
'default' => env('DB_CONNECTION', 'mysql');
...
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'pddb'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
также мне не ясно, куда происходит инсерт, если у меня в бд нет такой таблицы даже?
Изменено Anque (03.10.2017 10:01:56)
Не в сети
Не в сети
действительно, помогло)
почему 2 файла с доступами?
и можно ли как-то изменять структуру требуемой таблицы? или же автоматически создавать таблицы в соответствии с требованиями(кстати, где они взялись?)?
Изменено Anque (03.10.2017 10:04:41)
Не в сети
.env файл указывает на данные БД на твоей машине, у другого разработчика и на продакшн сервере будут другие данные. Поэтому .env файл не коммитится в Git репозиторий. А config файл уже читает данные из .env файла.
Не в сети
Таблицами управляешь через миграции. Прочитай документацию, у тебя десятки вопросов сразу отпадут.
Не в сети
я и читаю документацию, но там в не отсортированном виде всё.
рассказывается об аутентификации, не рассказав перед этим о том, что мы сейчас делали.
Не в сети
Перед тем, как делать проект, прочитай всю докуменатцию или книгу, в которой шаг за шагом приложение пилят и объясняют все на пальцах. Когда я новую технологию осваиваю, я читаю книгу и документацию попутно. В итоге в разы больше времени экономится и понимание намного более глубокое.
Не в сети
согласен, я всегда и придерживаюсь такого подхода - всегда сначала изучаю теоретическую часть в любом вопросе.
но сейчас столкнулся с ситуацией, когда нужно в кратчайшие сроки сделать минимальный функционал, поэтому терроризирую форум :]
прочёл статью о миграциях, но так и не увидел, как можно изменять структуру требуемой таблицы User:
Изменено Anque (03.10.2017 11:45:27)
Не в сети
Прочитай еще раз, там все есть. Делается это либо правкой существующей миграции и перезапуском миграций, либо добавлением отдельной миграции под это изменение.
Не в сети
оказывается, миграция CreateUsersTable уже существует.
файл со странным названием "\database\migrations\2014_10_12_000000_create_users_table.php"
выполнил php artisan migrate , получил ошибки:
но в базе всё создалось:
Не в сети
deleted
Изменено Anque (03.10.2017 12:56:21)
Не в сети
Не в сети
на вот тебе еще, вдохновляйся
https://goo.gl/cgUSck сотка уроков на русском языке. там версия 5.2, но до сих пор (5.5) актуально. различия все указаны в комментах под видео. сам лично проверял до 82 урока, в кратчайшие сроки
п.с. убежал за попкорном
Изменено sam (03.10.2017 18:25:29)
Не в сети
Да вроде в последних версиях laravel уже миграции с юзерами и правами сделаны. Запускание в командной строке php artisan migrate
Не в сети
да, я с этими немного разобрался.
создал сейчас свою миграцию для некоторой таблицы, запустил её на локалке (винда) — отработало.
спуллил все файлы миграций на сервер, настроил там окружение, запускаю php artisan migrate — миграция с юзерами (дефолтная, выходит) отработала, новосозданная потерпела крушение — о ней даже не вспомнили :[
Не в сети
Изменено Anque (04.10.2017 13:49:11)
Не в сети